Windows の管理における神経系
WMI(Windows Management Instrumentation)は、プログラムが Windows に構造化された質問をするためのレイヤーです。ハードウェア構成、実行中のプロセス、サービス、ディスク情報、BIOS のバージョンなどを問い合わせられます。PowerShell の Get-CimInstance はこの言語を話し、タスク マネージャーは必要としませんが、ほぼすべての監視ダッシュボード、インベントリ エージェント、企業向け管理ツールはこれに依存しています。背後の Winmgmt サービスは、%windir%\System32\wbem\Repository に格納された「リポジトリ」と呼ばれるクラス定義とデータのデータベースから、それらのクエリに応答します。
このデータベースに問題が起きると、症状は不思議なほど具体的です。イベント ビューアーに WMI エラーが出る(Event ID 10 か 5605 が典型的)、監視ツールが接続に失敗するか何も返さない、明らかに存在するオブジェクトに対してスクリプトが突然 "not found" を返す、といった具合です。まず起こらないのは PC の動作低下です。遅いマシンは、WMI の衣装を着た別の問題です。
検証、修復、リセット — この順番で
Windows にはリポジトリ用の修復はしごが標準で付属しており、下の段から順に登ります。各コマンドは昇格したターミナルで実行してください。どれもファイルも Windows ライセンスも削除しません。最悪のケースでも、一部のサードパーティ製ツールが後で独自の WMI コンポーネントを再インストールする必要がある程度です。
- winmgmt /verifyrepository — 状態チェック。"WMI repository is consistent" と出ればここで停止、リポジトリは正常です
- winmgmt /salvagerepository — 最初の修復試行: 不整合な部分を再構築しつつ、登録済みデータを保持します
- winmgmt /resetrepository — 工場出荷時への再構築: 既定のクラスが戻り、サードパーティ製プロバイダーは修復インストールが必要になる場合があります
- Event ID 10 — 多くは機能更新の後に出る無害なフィルター登録エラーで、破損ではありません。無視するかタスクを削除します
- WMI-Activity ログ — イベント ビューアー → アプリケーションとサービス ログで、CPU が高騰したときにどのプログラムが WMI を叩いているかを確認できます
- 破損ではない — "アクセスが拒否されました" や固まった WmiPrvSE.exe は大抵 DCOM のアクセス許可かポーリングするアプリのせいで、リポジトリの破損ではありません
消えてほしい俗説
Repository フォルダーを手動で削除せよという 2005 年のフォーラムの助言は、健康なシステムを故障品に変える最善の方法です。現代の Windows は必要に応じてリポジトリを自動的に検証・再構築しており、手動削除はその安全網をすべて飛ばします。リポジトリを再構築しても PC は速くなりません。WMI は速度を担うコンポーネントではないからです。WmiPrvSE.exe が CPU を食べているなら、正しい対処は激しくポーリングするプログラムを特定することで、WMI-Activity トレース ログがその名前を教えてくれます。リポジトリは Exchange が自社データベースに向き合うのと同じ扱いにしましょう。公式ツールで修復し、ファイル マネージャーでは決して触らないことです。
よくある質問
Windows の WMI は何に使われますか?
プログラムやスクリプトが Windows にハードウェア、プロセス、サービス、設定を問い合わせるためのインターフェイスです。PowerShell の Get-CimInstance、監視ダッシュボード、企業向け管理ツールがすべて依存しています。
WMI リポジトリを再構築しても安全ですか?
はい。winmgmt /resetrepository は公式の手順で既定のクラスを再構築します。後で修復インストールが必要になるのは、独自の WMI プロバイダーをインストールしたソフトウェアだけです。
購入前にライセンスの内容をご確認ください。
一度限りの 30 分試用では基本ツールを利用できます。PRO 機能は有料ライセンスを有効にするまでロックされています。
次に読む記事
お問い合わせ: [email protected]