起動中のプロセスの引数を取得する方法
PowerShellの標準のコマンドレットには、Get-Processというものがあるが、この戻り値から取得できるプロセスのオブジェクトをたどっても、実行の際に渡された引数を取得できないみたいだ。
StartInfoメンバがそれっぽいのだけれども、
下記のコマンドを試してみても、うまく取得できない。
> $process = Get-Process foo > $process.StartInfo.Arguments なにも表示されない
どうにか取得できないかと色々調べたら、WMIを使う方法を見つけた。win32_processを使う。
以下のように使う。
> $process = Get-WmiObject win32_process | ? { $_.Caption -like "*foo*" } > $process.CommandLine ※ 引数が表示される