wmiを使って電卓を起動してさらに落としてみる

wmiを使って電卓を起動してさらに落としてみる

この記事を読むのに必要な時間は約 4 分です。

前回、メソッドがあって何かが実行できそうな一覧の出力はできています。

今回はそれらの中から一つ試しに「何か」を実行してみたいと思います。

それでは以下を見てみて下さい。

このWin32_Processを試してみましょう

それではこの状態から行きたいと思います。

まずはあたりをつけているWin32_processを入れます。

path win32_process

※情報が多いので画像は省略

それでは本題で実行できることを探していってみましょう

path win32_process /?

今回もCALLを実行してみたいと思います。

path win32_process call /?

沢山出てきましたが、今回は一番簡単そうな Create を試してみたいと思います。

 

path win32_process call create

はい。こんな感じでうまくいきましたね。

うまくいってないですね!!

いつもならReturenValueは 0 ですが、 今回は21です。

21 の 正解はここに書いてました。

Create method of the Win32_Process class - Win32 apps
The Create&\#8194;WMI class method creates a new process.

 

  • Successful completion (0)
  • Access denied (2)
  • Insufficient privilege (3)
  • Unknown failure (8)
  • Path not found (9)
  • Invalid parameter (21)
  • Other (22–4294967295)

と言うことで、パラメーターがおかしいとのことです。

それではパラメーターとして 電卓を起動してみたいとおみます。

 

path win32_process call create “calc.exe”

今度は正しく電卓が起動できましたね。

 

それではこの起動させた電卓を落としてみましょう

プロセスIDが8044ですね。

ん~

うん!何かがおかしい

格闘する事30分!ついに思い出しました前回のプリンタの事!

先に削除するプロセスを特定させないといけないのです

色々錯誤してはいこんな感じで行けました。

path win32_process where name=’Calculator.exe’ get * /format:list
PIDが8044で指定します。

コマンドはこれですね。

path win32_process.ProcessId=8044 call Terminte
はい。これで電卓も無事に終了させることができました!

VBなどで複雑な処理を組む必要が無いのであれば、この様な形で簡易的にメソッドを実行させることができますので、覚えておくと便利です。

 

 

タイトルとURLをコピーしました