WMI【Windows Management Instrumentation】
概要

CPUの種類やメモリ容量、ディスクの空き容量、実行中のプロセス、インストール済みソフトウェアの一覧、Windowsサービスの起動状態、イベントログなど、システムに関する様々な情報に統一的な方法でアクセスできる。情報の参照だけでなく、一部の設定項目については変更操作も可能である。
WMIが扱う情報は「クラス」(class)と呼ばれる単位で定義されている。例えば、CPUの情報は「Win32_Processor」、OSの情報は「Win32_OperatingSystem」というクラスで管理される。利用者は「WQL」(WMI Query Language)と呼ばれるSQLに似た構文の問い合わせ言語を使って条件を指定し、必要な情報を取り出すことができる。
PowerShellやVBScript、C#など様々な言語・環境からアクセスでき、定型的な管理業務を自動化するスクリプトの作成や、IT資産管理システム、監視システムなどの開発にも利用される。また、ネットワーク経由で別のWindowsコンピュータへ接続し、リモートから管理情報の取得や設定変更を行うことも可能なため、企業の情報システム部門では多数の端末やサーバを集中管理する用途でも用いられる。
WMIはDMTF(Desktop Management Task Force)という業界団体が策定した「CIM」(Common Information Model:共通情報モデル)という管理情報モデルをWindowsに実装したものである。従来のWindowsでは、ハードウェアやネットワーク、個別のアプリケーションがそれぞれ固有の管理手段を持っており、システム全体を一括管理することが困難だった。WMIはこうした壁を解消し、共通の管理基盤として機能する。近年ではPowerShellの「CIMコマンドレット」(CimCmdlets)がWMIへのアクセス手段として推奨されている。