WMIに関するプロセス(winmgmt.exeやwmiprvse.exeとか) - WMI Reference
Topics
WMIを使用するに当たりWindows OS上どのようなプロセスが動作しているか、
私なりに説明しておきたいと思います。(知識不足な部分があるかも知れませんが…。)
Sample Code
n/a
Comment
WMIのモジュールはシステムドライブ上の「WINDOWS\system32\wbem」フォルダに存在します。(例: C:\WINDOWS\system32\wbem)
即ちこのフォルダ内の状態に問題が起きたりファイルが不足したりするとWMIの動作に関し不具合が発生することになります。
このフォルダ内でWMIを使う上で知っておいたほうが良いプロセスを紹介しておきたいと思います。
・winmgmt.exe
Windows Management Instrumentation サービスの実態です。
CIMOMの役割を持っており汎用サービスホストプロセスsvchost.exeの元実行されます。
・wmiprvse.exe
WMI Provider Host のプロセスです。WQLなどを実行することでクラス情報を取得する際実行されます。
各クラスを実装しているdllファイルなどをロードする仕事をする形になります。
大量なデータを取り扱うケースもあることからたまにメモリーリークを起こしたり、ウィルスに狙われたりもするようです。
そういった悪い評判からWindows Management Instrumentationサービスを止めてしまおうという記事もよく見かけます。
システムを管理する側としてはこのサービスを止められてしまうとWMIが一切使えなくなってしまうことに十分注意したほうがいいと思います。
・wmiapsrv.exe
WMI Performance Adapterサービスの実態です。
WMI Performance Adapterがイベントログに多くエラーを吐く事があることからこのサービスを無効にするケースもあるようですが、そのような場合WMI経由でパフォーマンスカウンタを参照する場合弊害が出るかもしれません。
・wmiadap.exe
WMI AutoDiscovery/AutoPurge (ADAP)
パフォーマンスカウンタオブジェクトを収集して保持するプロセスです。
ちなみに「WINDOWS\system32\wbem\Logs」フォルダにはWMIに関するログ情報がいっぱい詰まっています。
でも残念ながら私にはここの中身を見てもさっぱり理解できない感じですが…。