2006/11/29
WMIクラスのスタティックなメソッドを呼ぶには?
WMIクラスのインスタンスは簡単にGet-WMIObjectコマンドレットで取れますが、WMIのスタティックなメソッドを実行するにはどうすればいいのでしょう?
結論は.NETクラスのSystem.Management.ManagementClassをnew-objectしたインスタンスから呼べます。
(new-object System.Management.ManagementClass Win32_Process).create("not epad")
このように、コンストラクタにWMIクラス名を指定します。例はnotepad.exeのプロセスを作成するというものですが、PowerShellではnotepad
と入力するだけで実行できるのであまり適切な例とは言えませんが…
ついでに後片付け。notepad.exeを終了します。
gwmi Win32_Process|?{$_.processname -eq "notepad.exe"}|%{$_.terminate()}
betaの段階ではInvokeMethodメソッドを呼ばなければいけなかったようですが、正式版では直で呼べるようですね。ありがたや。
これもstop-process -name notepad
でできるのであまり適切な例とは言えませんが…
プライバシーポリシー