whitefox HOME | IT資産管理とは? | Windowsファイアウォール | WMI | IT資産管理ツール



WMI概要 WMIC.EXE Windowsコマンドラインツール

WMI : 2009.09.14 Monday

WMIC.EXEは、Windows XP以降のWinodws OSに付属しているコマンドライン ツールで、WMIが管理する情報へのアクセスができます。WMIC.EXEを初めて実行すると「.mofファイル」がコンパイルされデータベース(CIM レポジトリ)に格納されます。.mofファイルは、Managed Object Formatの略で、システム管理情報のクラスやインスタンスなど、定義済みオブジェクトが記述されたテキストファイルです。WMIクラスがわかっていれば、WMIC.EXEにより、インスタンスを指定してプロパティを取得するか、または定義済みのメソッドを呼び出すことができます。

WMIC.EXEの使用例
WMIC.EXEの使用例を以下に示します。コマンドプロンプトを起動し、「WMIC」と入力し [Enter]キーを押します。WMIC.EXEを始めて起動した場合には、CIMリポジトリの構成が行われます。その後、WMICのプロンプト(wmic:root¥cli)が表示されます。先頭の「wmic:」はWMIC.EXEが実行中であることを表し、「root¥cli」は WMIC の既定の役割を表します。



「/?」と入力し、[Enter]キーを押します。ヘルプが表示されます。



WMIC.EXEのグローバルスイッチ
WMIC.EXEのグローバルスイッチでは名前空間(root¥cimv2など)やユーザー、パスワードなどが指定できます。
グローバルスイッチ名 説明
/NAMESPACEエイリアスが操作する名前空間のパスです。
/ROLEエイリアスの定義を含む役割のパスです。
/NODEエイリアスが操作するサーバーです。
/IMPLEVELクライアントの偽装レベルです。
/AUTHLEVELクライアントの認証レベルです。
/LOCALEクライアントが使用する必要がる言語 ID です。
/PRIVILEGES特権のすべてを有効または無効にします。
/TRACEデバッグ情報を標準エラー出力(stderr)に出力します。
/RECORD入力コマンドと出力のすべてをログに記録します。
/INTERACTIVE対話モードを設定またはリセットします。
/FAILFASTFailFast モードを設定またはリセットします。
/USERセッションの間使用するユーザーです。
/PASSWORDセッション ログオンに使用されるパスワードです。
/OUTPUT出力リダイレクトのモードを指定します。
/APPEND出力リダイレクトを指定します。
/AGGREGATE集合体モードを設定またはリセットします。
/?[:]使用方法の情報です。

WMICのエイリアス
WMIC.EXEのエイリアスは、WMIプロバイダが提供するWMIデータを、WMI固有の概念を理解していなくても利用可能にするための「別名」です。
WMIC.EXEではエイリアスなしに、WMI データの取得やWMIクラスが提供するメソッドを実行することもできます。
現在のユーザーが利用可能なエイリアスは、「WMIC /?」と入力すると表示できます。
エイリアス名 説明
ALIASローカル システムのエイリアス ボリュームにアクセスします。
BASEBOARDベース ボード (マザーボードまたはシステム ボード) の管理です。
BIOS基本入出力 (BIOS) 管理です。
BOOTCONFIGブート構成管理です。
CDROMCD-ROM 管理です。
COMPUTERSYSTEMコンピュータ システム管理です。
CPUCPU 管理です。
CSPRODUCTSMBIOS からのコンピュータ システム製品情報です。
DATAFILEデータ ファイル管理です。
DCOMAPPDCOM アプリケーションの管理です。
DESKTOPユーザーのデスクトップ管理です。
DESKTOPMONITORデスクトップ モニタの管理です。
DEVICEMEMORYADDRESSデバイス メモリ アドレスの管理です。
DISKDRIVE物理ディスク ドライブの管理です。
DISKQUOTANTFS ボリュームのディスク領域の使用です。
DMACHANNELダイレクト メモリ アクセス (DMA) チャンネル管理です。
ENVIRONMENTシステム環境設定の管理です。
FSDIRファイル システム ディレクトリ エントリの管理です。
GROUPグループ アカウントの管理です。
IDECONTROLLERIDE コントローラ管理です。
IRQ割り込み要求 (IRQ) の管理です。
JOBスケジュール サービスを使用してスケジュールされたジョブへのアクセスを提供します。
LOADORDER実行依存関係を定義するシステム サービスの管理です。
LOGICALDISKローカル記憶装置管理です。
LOGONログオン セッションです。
MEMCACHEキャッシュ メモリ管理です。
MEMLOGICALシステム メモリの管理です。
MEMPHYSICALコンピュータ システムの物理メモリの管理です。
NETCLIENTネットワーク クライアント管理です。
NETLOGINネットワーク ログイン情報 (特定のユーザーの) の管理です。
NETPROTOCOLプロトコル (およびそのネットワーク特性) 管理です。
NETUSEアクティブ状態のネットワーク管理です。
NICネットワーク インターフェイス コントローラ (NIC) の管理です。
NICCONFIGネットワーク アダプタの管理です。
NTDOMAINNT ドメイン管理です。
NTEVENTNT イベント ログのエントリです。
NTEVENTLOGNT イベント ログ ファイルの管理です。
ONBOARDDEVICEマザーボード (システム ボード) にビルトインされている共通アダプタ デバイスの管理です。
OSインストールされたオペレーティング システムの管理です。
PAGEFILEスワップされている仮想メモリ ファイルの管理です。
PAGEFILESETページ ファイル設定管理です。
PARTITION物理ディスクのパーティションされた領域の管理です。
PORTI/O ポート 管理です。
PORTCONNECTOR物理接続ポートの管理です。
PRINTERプリンタ デバイスの管理です。
PRINTERCONFIGプリンタ デバイス構成の管理です。
PRINTJOB印刷ジョブの管理です。
PROCESS 処理管理です。
PRODUCTインストール パッケージ タスクの管理です。
QFEQFE (Quick Fix Engineering) です。
QUOTASETTINGボリュームのディスク クォータの設定情報です。
RECOVEROSオペレーティング システムにエラーが発生するときにメモリから収集される情報です。
REGISTRYコンピュータ システムのレジストリの管理です。
SCSICONTROLLERSCSI コントローラ管理です。
SERVERサーバー情報の管理です。
SERVICEWindowsサービス アプリケーションの管理です。
SHARE共有リソース管理です。
SOFTWAREELEMENTシステムにインストールされているソフトウェア製品の要素の管理です。
SOFTWAREFEATUREソフトウェア要素のソフトウェア製品サブセットの管理です。
SOUNDDEVサウンド デバイス管理です。
STARTUPユーザーがコンピュータ システムにログオンするときに自動的に実行するコマンドの管理です。
SYSACCOUNTシステム アカウント管理です。
SYSDRIVER基本サービスのシステム ドライバの管理です。
SYSTEMENCLOSURE物理的システム格納装置管理です。
SYSTEMSLOTポート、マザーボード スロットと周辺機器、専用接続ポイントを含む物理的接続ポイントの管理です。
TAPEDRIVEテープ ドライブ管理です。
TEMPERATURE温度センサー (電気温度計) のデータ管理です。
TIMEZONEタイム ゾーン データ管理です。
UPS無停電電源装置 (UPS) の管理です。
USERACCOUNTユーザー アカウント管理です。
VOLTAGE電圧センサー (電気電圧計) のデータ管理です。
VOLUMEQUOTASETTINGディスク クォータ設定を特定のディスク領域に関連付けます。
WMISETWMI サービスの操作パラメータ管理です。


プロセスIDが300以上のプロセスを抽出する例
「process where (processid>300) list brief」と入力し、[Enter]キーを押します。
このコマンドでは、コンピュータ上のプロセスID(ProcessID)が300より大きいプロセスをすべてリストアップし、そのプロセスに関する最小限の情報のみをリストしています。
「process」はエイリアスで、エイリアスに続いてSQL文のwhere句を指定し、フィルタリングをおこなっています。



WMIC.EXEの終了操作
「quit」と入力し、[Enter]キーを押します。WMIC.EXEが終了します。





イベントログを参照する例
あまり簡単な例ばかりだと、つまらないので(笑)
実際のシステム管理に役立ちそうな「WMICでイベントログ参照」についても説明します。
※イベントログについては、「イベントログの概要」を参照して下さい。

イベントログは、WMIのWin32_NTLogEventクラスにあります。WMIC.EXEのエイリアスでは「NTEVENT」で定義されています。Win32_NTLogEventクラスには、たくさんプロパティがあるので何を出力するかですが...まずは「list brief 」ですべてのプロパティを表示してみましょう。たくさんデータが表示されて唖然としないように、Where句で「Applicationログ かつ ソース名がUserenv」に絞って、実行してみましょう。


WMIC.EXE実行中は、コマンドプロンプトの「 | more」が使えないので、表示がたくさん流れて行ったかもしれませんが、落ち着いて最後の1セットを見ていただくと
Category,CategoryString,EventCode,EventIdentifier,EventType,InsertionStrings,
Logfile,Message,RecordNumber,SourceName,TimeGenerated,TimeWritten,Type,User
というプロパティがあることが解ります。

これらのプロパティの内、必要そうな EventCode,InsertionStrings,TimeGenerated,Typeプロパティだけを getで指定して、もう一度、実行してみましょう。


Where句では プロパティ値の特定(例:logfile='Application')だけでなく、イベント生成時刻の範囲指定などもできます。表示するプロパティの指定は get, listが指定でき 前述のように「プロパティが解らないときは とりあえず list brief」してから 「get で必要なプロパティだけを選択」するとよいでしょう。
この例では WMIC.EXEのエイリアス「NTEVENT」を使用しましたので このエイリアスの指定方法については「NTEVENT /?」を実行すれば、表示されます。







お役立ちリンク
あなたのサーバー動いていますか? |  ログを採るだけで満足? |  イベントログ ツールズ |  Vista/7/2008イベントログ |  SharePoint 2010 Tips |  Windows Server サポート終了日

ライセンス購入・保守契約
製品購入 |  保守契約 |  FAQ |  お問合せ |  サイトマップ