by manamana
4. 3月 2013 06:00
PowerShell には WMI を操作するため幾つかのコマンドレットが用意されています。
WMI(=Windows Management Instrumentation)は OS の管理基盤です。
アプリケーションやプロセスの一覧を取得したり削除したりできますが、GUIからそれを意識する事はありません。
Get-WmiObject を使って、XP32というPCにインストールされたアプリの一覧を得るには次のようにします
> Get-WmiObject -ComputerName XP32 -class win32_product -Credetial $c
※$c には認証情報が代入されている
でもこれ、大抵の場合 FireWall で弾かれます。
WMIはRPCの動的ポートを利用しますが、今時のFireWallはRPCの動的ポートからの侵入を許してくれません。
※レジストリを弄ればOKです
こんな時でも WimRM の環境が整っていれば大丈夫です。
> Invoke-Command -ComputerName XP32 -Credential $c { Get-WmiObject -class win32_product }
Invoke-Command を利用して、Get-WmiObject をリモート実行すれば良いだけです。
83e8e2ba-4cb5-4b96-8691-fb92f8d8e98c|0|.0|96d5b379-7e1d-4dac-a6ba-1e50db561b04
Tags:
PowerShell