多くの場合、WMIリポジトリが破損し、プロバイダーの読み込みに失敗します。このガイドでは、Windows 10でWMIリポジトリを修復または再構築する方法を共有します。WindowsManagementInstrumentationまたはWMIは、ネットワーク内のデバイスとアプリケーションの管理を統合するためのMicrosoftの一連の仕様です。これは、WMIクラスのメタ情報と定義を格納するデータベースです。これらを使用するだけで、システムの状態を知ることができます。
リポジトリはここから入手できます–
%windir%\ System32 \ Wbem \ Repository
簡単に言うと、エンドユーザーにローカルまたはリモートのコンピュータシステムのステータスを提供します。
注: Server2012クラスターマシンではこれを使用しないでください
WindowsでWMIリポジトリを修復または再構築します
WMIリポジトリを修正または復元するためのコマンドラインツールがあります。ただし、Microsoftは、破損がないかどうかを確認することをお勧めします。
以下は、表示される可能性のあるエラーと権限の問題のリストです-
- rootdefaultまたはrootcimv2名前空間に接続できません。「WBEM_E_NOT_FOUND」を指すエラーコード「0x80041002」で失敗します。
- [コンピューターの管理]を開き、[コンピューターの管理(ローカル)]を右クリックして[プロパティ]を選択すると、「WMI:見つかりません」というエラーが表示されるか、接続しようとしてハングします。
- 0x80041010 WBEM_E_INVALID_CLASS
- wbemtestを使おうとすると、ハングします
- スキーマ/オブジェクトがありません
- 奇妙な接続/操作エラー(0x8007054e)。
確認する最終的な方法は、昇格したコマンドプロンプトでこのコマンドを実行することです。
winmgmt / verifyrepository
リポジトリに問題がある場合は、「リポジトリに一貫性がありません」と応答します。そうでない場合は、他の何かが問題を引き起こしています。破損が存在することを確認したら、次のヒントに従ってWMIリポジトリを修復または再構築しましょう。
1] WMIリポジトリをリセットします
昇格された特権でコマンドプロンプトを開きます。
次のコマンドを実行します。
winmmgmt / salvagerepository
次に、コマンドを実行して、一貫性のあるものとして返されるかどうかを確認します-
winmgmt / verifyrepository
リポジトリに一貫性がないと表示されている場合は、次を実行する必要があります。
winmgmt / resetrepository
WMIリポジトリを修正するのに役立ちます。各WMIコマンドの意味は次のとおりです。
- salvagerepository:このオプションをwinmmgmtコマンドとともに使用すると、整合性チェックが実行されます。不整合が検出されると、リポジトリが再構築されます。
- verifyrepository: WMIリポジトリで整合性チェックを実行します。
- resetrepository:オペレーティングシステムが最初にインストールされたとき、リポジトリは初期状態にリセットされます
それがコマンドを実行したときに何が起こるかを説明することを願っています。
2] WMIを強制的に回復する
WMIには、自己回復プロセスが組み込まれています。WMIサービスが再起動するか、破損が検出されると、自己回復手順が自動的にトリガーされます。それは2つの方法で起こります:
AutoRestore :ここでは、VSS(ボリュームシャドウコピー)バックアップがオンになっている場合にバックアップイメージを使用します。
AutoRecovery :これでは、再構築プロセスにより、登録されたMOFに基づいてリポジトリの新しいイメージが生成されます。MOFSは、次のレジストリで入手できます。
HKLM \ Software \ Microsoft \ WBEM \ CIMOM:MOFの自動回復
注:自動回復MOFが重要です。それをダブルクリックして値を確認します。
WMI自己回復が機能しない
自己回復が機能しない場合は、いつでも強制回復プロセスを使用できます。
regkey値が空であるか、ここにないことを確認してください。
HKLM \ Software \ Microsoft \ WBEM \ CIMOM \ Autorecover MOF
上記のregkeyが空の場合は、別のマシンからregkey値をコピーして貼り付けます。問題のコンピュータと同等のシステムからのものであることを確認してください。
次に、コマンドを実行します-
Winmgmt / resetrepository
「WMIリポジトリのリセットに失敗しました」というエラーが表示された場合。エラーコード:0x8007041B。ファシリティ:Win32」の場合、次のコマンドを実行して、WMIサービス上のすべての依存関係サービスを停止します。
ネットストップwinmgmt / y Winmgmt / resetrepository
提案された修正の両方が機能しない場合は、自動化されたツールを試してみてください。
3] WMIフィクサーツール
このツールは、サーバーのWMIリポジトリが破損しているか、関連する問題が発生している場合に修正します。WMIフィクサーツールはTechnetからダウンロードできます。
関連記事:WMIがCPU使用率を高めています。