マイクロソフト系技術情報 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。

目次

概要

WMI(Windows Management Instrumentation) は、Windowsを管理するためのAPIです。

  • Win32_ComputerSystem?
  • Win32_OperatingSystem?
  • Win32_NetworkAdapter?

のような型があり、その型に応じたオブジェクトを通して、
Windows の設定や状態の情報を取得したり、変更したりできます。

vbsの例

 Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")
 for each nic in objWMIService.ExecQuery("select * from Win32_NetworkAdapter")
   wscript.echo nic.NetConnectionID
 next

例では、まず、 WMIサーバーのオブジェクトを得ます。
winmgmts: が WMI を指し、 \\.\ が 現在のWindows PC、 root\cimv2 が得るオブジェクトの名前空間です。
\\.\ と cimv2 に別の物を指定すると、他の Windows や、 別の名前空間から、オブジェクトを得ることもできます。

 Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")

例では、続いて、WMI から NICの情報を得ます。
"select * from 型" をクエリすることで、型に該当する全てのオブジェクトを得ます。

 for .... ExecQuery("select * from Win32_NetworkAdapter")

vbsとWMIとGetObject?の解説は、下も参考にしてください。

WMIの探し方

上に書いた WMI の型は、ほんの一例にすぎません。

簡単な方法は、WMI をキーワードに含めて、時には英単語で、検索することです。

例えば、windows にインストールされているプログラムの一覧を得るWMIを探すとき、

 site:microsoft.com script wmi product list

で、ググると、

 wmic product list all installed software as xml
 Win32_Product class

が、top2 でhitします。

この、 Win32_Product class というのが、求める情報です。
WMI の型の多くは、 Win32_ で始まります。(そうでないものありますが、Windows OS の情報は、Win32_ で始まります)

WMI 関連ツール

wbemtest.exe

該当する型が見つかったら、Windows 標準搭載の wbemtest コマンドを使って、

 select * from Win32_Product

とクエリしてみて、必要な情報が得られているか、ざっと眺めてみます。

wbemtest の画面、使い方の例は・・・、

使用する型が決まったら、メモ帳などでvbsファイルをがりがり書き始めてokです。

もし、サンプルが必要なら、今度は 型 を含めて、ググると、コーディングの例が多数見つかります。
ただし、動かなくて質問している例も多数見つかりますので、情報を取捨選択してください。

script center

もっと簡単にスクリプトのサンプルを得る方法もあります。

script center には、多数のスクリプト例が掲載されています。
左側から、取り扱いたいWMIの種類や、言語を選択していくと、掲載されているサンプルを絞り込めます。

script o matic

型が具体的に分かっていて、楽して、サンプルの雛形が欲しい、のなら、 script o matic があります。
キーワードを指定して、型を絞り込むと、スクリプトサンプルを生成してくれます。

WMI Object Browser

インストールして使う WMI ツールに、 CIM Studio の WMI Object Browser もあります。
WMI Object Browser は、 WMI の型全体を、一覧表示して、目で見て、必要な型を探す、のに役立ちます。


Tags: :シェル, :インフラストラクチャ, :Windows


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2017-12-08 (金) 11:33:36 (557d)