Windows TIPS
[PowerShell]
  Windows TIPS TOPへ
Windows TIPS全リストへ
内容別分類一覧へ

PowerShellでWMIを利用するためのコードを生成する

解説をスキップして操作方法を読む

デジタルアドバンテージ 打越 浩幸
2008/05/23
対象ソフトウェア
Windows PowerShell
WMIを利用すれば、さまざまなシステム管理業務をプログラムで制御できる。
PowerShell Scriptomaticツールを利用すると、PowerShellからWMIを利用するためのスクリプトのテンプレートを簡単に自動生成できる。

解説

 WMI(Windows Management Instrumentation)は、Windows OSにおけるシステム管理のための共通基盤アーキテクチャであり、システムに関するさまざまなインベントリ情報を、取得・管理する機能が提供されている。TIPS「WMIとwmicコマンドを使ってシステムを管理する(基本編)」や「wmicコマンドでイベント・ログを表示する」「wmicコマンドでシステムの構成を設定/変更する」などでは、WMIを使ってシステムの状態を調査したり、設定したりする例を紹介した。

 非常に便利なWMIであるが、WMIを使うプログラムを作成するためには、いろいろと覚えなければならないことや、調査しないといけないこと(WMIのコマンドやクラス、プロパティなど)も多く、簡単ではない。これに対し、WMIをプログラムから利用するためのコード生成ツールがマイクロソフトのダウンロード・センターで複数公開されている。これらのツールで生成されたコードを直接使ってもよいし、中核部分を参考にして自作のツールなどに組み込めば、WMIを使うプログラムの開発が容易になる。

 TIPS「WMIを使うスクリプトを簡単に作成する」では、C#やVisual Basic .NET、VBScriptのコードを生成する「WMI Code Creator v1.0」を紹介した。

 これ以外にもPowerShell Scriptomaticというツールも公開されている。もともと、単なるScriptomaticという名称のツールがあったが、これはHTMLで記述されたアプリケーション(.htaファイル)であり、VBScriptやPerl、JScript、Pythonのコードを生成することが可能であった(もちろんPerlやPythonを実行するためにはそれらのランタイムが必要)。このツールについては今後別TIPSで紹介する予定である。

 これと同様だが、PowerShellのコードを生成できるようにしたものがPowerShell Scriptomaticというツールである(実際にはScriptomaticという名前が同じだけで、中身はまったく別物のようである)。本TIPSでは、このツールについて紹介する。

操作方法

PowerShell Scriptomaticのインストール

 PowerShell Scriptomaticを利用するには、まず以下のダウンロード・サイトからインストール・ファイルをダウンロードする。

 入手したファイル(PowerShellScriptOMaticCompiledRelease.exe)をダブルクリックすると、展開先を聞いてくるので、適当な一時フォルダを指定する(デフォルトは、環境変数TMPの場所)。展開後、自動的にsetup.exeが起動し、インストール作業が始まる(起動しない場合は、展開先フォルダにあるsetup.exeをダブルクリックして実行する)。

 インストールのウィザード画面で[Next]をクリックすると、インストール先のフォルダの指定画面が表示されるので、適当な場所(デフォルトは「%ProgramFiles%\MrEdSoftware\PowerShellScriptOMatic v.1.0」)を指定する。次に[Next]をクリックするとインストールが行われる。

PowerShell Scriptomaticを使う

 [スタート]メニューの[プログラム]−[PowerShellScriptOMatic]−[ShortCut to PowerShellScriptOMatic]をクリックすると、PowerShell Scriptomaticが起動する。

PowerShell Scriptomaticの起動画面
PowerShell Scriptomaticを起動すると、このような画面が表示されるので、名前空間やクラスなどを選択する。
名前空間の選択。ドロップダウン・リストから選択する。
名前空間を選んだ後、クラスをドロップダウン・リストから選択する。
生成されたコードが表示される。
WMIの接続先のコンピュータの指定。デフォルトではローカル・コンピュータに接続することになっているが、複数のコンピュータ名をカンマで区切って並べてもよい。
実行やスクリプトの保存などのためのボタン。
これをクリックすると、スクリプトが実行される。
スクリプトをファイルに保存する場合はこれをクリックする。
結果をコンソールではなく、ファイルに出力する場合は、スクリプトの実行後に、これをクリックする。

 WMIを利用するためには、まずWMIの名前空間をドロップダウン・リストから選択し、次にその中のクラスを指定する。するとスクリプト・ウィンドウにコードが生成される。例えば「wmic diskdrive」コマンドに相当するスクリプトを生成させてみよう。まず名前空間として「root\CIMV2」を選択する。するとこの名前空間に属するクラスが列挙されるので(以下では400クラス見つかった)、その中から「Win32_DiskDrive」を選択してみる(Win32_DiskDriveのエイリアス名がdiskdriveになっている)。すると次のようなスクリプトが生成される。

スクリプトの実行例
ローカルのディスクドライブの一覧情報を表示させるスクリプトの生成例
名前空間は「root\CIMV2」を選択する。
例えば「wmic diskdrive」コマンドで指定しているエイリアス名「diskdrive」の正式なクラス名は「Win32_DiskDrive」なので、これを選択する。
root\CIMV2名前空間に含まれるクラスの総数は400あるという意味。
生成されたコード例。
これをクリックすると、別ウィンドウが開いてPowerShellのスクリプトが実行される。

 スクリプトの生成後、上の画面の[Run]ボタンをクリックすると、別ウィンドウが開いて生成されたスクリプトが実行される。

生成されたスクリプトの実行結果の例
PowerShellスクリプトが実行され、結果がこのようにウィンドウに表示されている。

 ここでは別ウィンドウを開いて実行させているが、一般的にWMICで生成される結果は非常に長いリストのものが多い。

 PowerShell ScriptomaticのFileやOptionsメニューの下には、3つのオプション・ボタンがあり、ここで結果の出力形式を変更したり(テキスト・ファイル、XMLファイル、CSVファイル)、オプション・パラメータを変更したりできる。例えば結果をCSVファイルにすると、結果が一時的なファイルに出力されるので、その内容は[Open Temp File]ボタンで開いて確認できる。

 以上のほかにもいくつか機能があるが、詳しくはヘルプ・ファイルを参照していただきたい。End of Article

「Windows TIPS」


Windows Server Insider フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Windows Server Insider 記事ランキング

本日 月間