Windows Server
 Computer >> コンピューター >  >> システム >> Windows Server

WMIリポジトリのトラブルシューティング、修復、および再構築を行う方法は?

経験豊富なすべてのWindows管理者は、WMIサービス(Windows Management Instrumentation)とそのコンポーネントでいくつかの問題に直面しています。 WMIサブシステムの問題は、Windowsの通常の操作にとって重大であるため、管理者はWMIの機能をできるだけ早く確認して復元する必要があります。この記事では、Windows10およびWindowsServer2016/2019でのWMIの問題のトラブルシューティングと修正の非常に簡単な手法について説明します。

WMIの問題は、さまざまなエラーを示している可能性があります。

  • システムおよびアプリケーションログでのWMIクエリ処理のエラー(0x80041002 - WBEM_E_NOT_FOUNDWMI: Not Found0x80041010 WBEM_E_INVALID_CLASS );
  • WMIに関連するGPO処理エラー(WMIの誤った動作-グループポリシーのフィルターなど)。
  • WMIクエリは非常に低速です。
  • SCCM/SCOMエージェントのインストールまたは操作中のエラー;
  • WMI名前空間を使用するスクリプト(VBSまたはPowerShell)のエラー(Get-WmiObjectを使用するスクリプトなど)

WMIの問題のトラブルシューティング

最初のステップは、Windows Management Instrumentation(Winmgmt)を確認することです。 )サービスがWindowsにインストールされ、実行されています。 services.mscでサービスのステータスを確認できます コンソールまたはPowerShellの使用:

Get-Service Winmgmt | Select DisplayName,Status,ServiceNameを選択します

WMIリポジトリのトラブルシューティング、修復、および再構築を行う方法は?

Winmgmtサービスが実行されている場合は、単純なWMIコマンドを使用してWMIを照会することにより、WMIの正常性をテストできます。 wmi要求は、コマンドプロンプトまたはPowerShellから実行できます。たとえば、次のコマンドはWindowsにインストールされているプログラムを一覧表示します。

wmic product get name,version

WMIを介してWindows10のバージョンとビルドに関する情報を取得するための最も簡単なPowerShellコマンドは、次のようになります。

get-wmiobject Win32_OperatingSystem

WMIリポジトリのトラブルシューティング、修復、および再構築を行う方法は?

ご覧のとおり、WMIサービスは要求に正しく応答しました。このようなWMIクエリの実行時にWindowsがエラーを返す場合は、WMIサービスが正しく機能していないか、WMIリポジトリが破損しているか、その他の問題がある可能性があります。

WMIリポジトリのトラブルシューティング、修復、および再構築を行う方法は?

私の場合、たとえば、コンピューターの管理スナップイン(compmgmt.msc)でWMIコントロールのプロパティを開くとき )、次のメッセージが表示されました:

Failed to initialize all required WMI classes
Win32_Processor. WMI: Invalid namespace
Win32_WMISetting. WMI: Invalid namespace
Win32_OperationSystem. WMI: Invalid namespace

以前は、公式のMicrosoftツール WMIDiag.vbs (Microsoft WMI Diagnosis)を使用してWMIを診断しました。 WMIdiagは、さまざまなWMIサブシステムをチェックし、収集した情報をログファイルに書き込むvbsスクリプトです(デフォルトでは、ログは%TEMP%フォルダー– C:\USERS\%USERNAME%\APPDATA\LOCAL\TEMP\ )。結果のレポートは、WMIDIAG-V2.2で始まる名前のファイルで構成され、次のファイルタイプが含まれます。

  • LOGファイルには、WMIDiagツールのアクティビティと操作に関する詳細なレポートレポートが含まれています。
  • TXTファイルには、注意を払う価値のある検出されたエラーの要約レポートが含まれています。
  • CSVファイルには、WMIパフォーマンスの長期分析に必要な情報が含まれています。

WMIリポジトリのトラブルシューティング、修復、および再構築を行う方法は?

ヒント。 Windows x64バージョンでは、wmidiagは次のように実行する必要があります。
c:\windows\System32\cscript.exe wmidiag.vbs
そうでない場合、エラーが発生します:

WMIDiag must be run from native 64-bit environment. It is not supported in Wow64.

WMIリポジトリのトラブルシューティング、修復、および再構築を行う方法は?

WMIDiagがタスクを完了した後、管理者はログファイルを調べ、分析して、見つかったエラーの修正を試みる必要があります。

残念ながら、WMIDiag 2.2の最新バージョンは、Windows 8.1 / Windows Server2012R2までのバージョンでのみ正しく機能します。この時点で、MicrosoftはダウンロードセンターからWMIDiagをダウンロードするためのリンクも削除しました。ただし、必要に応じて、このスクリプトはWeb上で見つけることができます。

WMIDiagは、WMIのローカルエラーを修正する方法に関する詳細情報を提供しますが、ほとんどの場合、これは時間のかかる作業であり、重要なシステム(通常は運用サーバー)の問題の解決策を探すときにのみ費やす価値があります。 。ユーザーワークステーションの場合、WindowsでWMIリポジトリをリセットして再構築する方がはるかに簡単です。

WMIリポジトリの修復とMOFファイルの再コンパイル

Windows 10 / Windows Server 2016では、次のコマンドを使用してWMIリポジトリの整合性を確認できます。

winmgmt /verifyrepository

WMIリポジトリのトラブルシューティング、修復、および再構築を行う方法は?

コマンドがWMIデータベースが不整合な状態にあることを返した場合(INCONSISTENT またはWMI repository verification failed )、WMIリポジトリエラーのソフト修正を試してみてください:

Winmgmt /salvagerepository

WMI repository has been salvaged.

このコマンドは、WMIリポジトリの整合性をチェックし、不整合が見つかった場合はWMIデータベースを再構築します。

WMIサービスを再起動します:

net stop Winmgmt
net start Winmgmt

標準のWMI修正が機能しない場合は、次のスクリプトを試してください。このスクリプトは、コンピューター上のWMIサービスを回復するための「ソフト」オプションです(DLLライブラリとWMIが再登録され、MOFファイルが再コンパイルされます)。この手順は安全です そして、その実装はオペレーティングシステムにこれ以上の問題を引き起こさないはずです:

sc config winmgmt start= disabled
net stop winmgmt
cd %windir%\system32\wbem
for /f %s in ('dir /b *.dll') do regsvr32 /s %s
wmiprvse /regserver
sc config winmgmt start= auto
net start winmgmt
for /f %s in ('dir /b *.mof') do mofcomp %s
for /f %s in ('dir /b *.mfl') do mofcomp %s

64ビットバージョンのWindowsでは、これらの手順はSysWOW64ディレクトリに対しても実行する必要があります。 3行目を次のように置き換えます:

cd %windir%\SysWOW64\wbem

WMIリポジトリのトラブルシューティング、修復、および再構築を行う方法は?

これらのコマンドは、コマンドプロンプトに貼り付けるだけで実行できます。または、スクリプトをBATファイル( wmi_soft_repair.bat )として保存することもできます。 )そして管理者権限で実行します。スクリプトが終了したら、Windowsを再起動し、WMIが機能しているかどうかを確認します。

WMIリポジトリの再構築

上記の方法で問題が解決しない場合は、WMIリポジトリの再作成を意味するWMIリカバリのより「ハードな」方法を使用してください。

WMIリポジトリ %windir%\System32\Wbem\Repositoryにあります およびは、WMIクラスのメタデータと定義に関する情報を含むデータベースです。場合によっては、WMIリポジトリに静的クラス情報を含めることもできます。リポジトリが破損すると、WMIサービス(Winmgmt)のアクティビティでエラーが発生します。

WMIリポジトリが破損していると思われる場合は、WMIを復元する他の手段が有効でない場合にのみ再作成する必要があることに注意してください。

次のコマンドは、WMIデータベースを元の状態にリセットします(Windowsのクリーンインストール後など)。 salvagerepositoryパラメータで問題が解決しなかった場合は、次のコマンドを使用してWMIリポジトリをハードリセットします。

Winmgmt /resetrepository

ヒント。 実際には、WMIリポジトリの再構築によってサードパーティソフトウェアで問題が発生する場合があります。その理由は、WMIデータベース内のすべてのレコードが(クリーンなシステムの状態に)クリアされるためです。このようなソフトウェアは、リカバリモードで再インストールする必要がある場合があります。

両方のコマンドの場合(Winmgmt /salvagerepository およびWinmgmt /resetrepository )WMIデータベースの一貫性のある状態を復元しませんでした。次のスクリプトを使用して、WMIデータベースのハードリセットを実行してみてください。

sc config winmgmt start= disabled
sc config winmgmt start= disabled
net stop winmgmt
cd %windir%\system32\wbem
winmgmt /resetrepository
winmgmt /resyncperf
if exist Repos_bakup rd Repos_bakup /s /q
rename Repository Repos_bakup
regsvr32 /s %systemroot%\system32\scecli.dll
regsvr32 /s %systemroot%\system32\userenv.dll
for /f %s in ('dir /b *.dll') do regsvr32 /s %s
for /f %s in ('dir /b *.mof') do mofcomp %s
for /f %s in ('dir /b *.mfl') do mofcomp %s
sc config winmgmt start= auto
net start winmgmt
wmiprvse /regserver

WMIリポジトリのトラブルシューティング、修復、および再構築を行う方法は?

64ビットバージョンのWindowsでは、DLL / EXEを再登録し、%windir%\ sysWOW64\wbemディレクトリにあるMOFファイルを再コンパイルする必要もあります。

このスクリプトは、WMIリポジトリフォルダーを完全に削除して再作成します(古いリポジトリはRepos_backupディレクトリに保存されます)。スクリプトが完了したら、Windowsを再起動する必要があります。次に、簡単なクエリでWMIサービスを確認します。

WMIリポジトリの状態を確認します。エラーが修正された場合は、winmgmt /verifyrepository コマンドは次を返す必要があります:

WMI repository is consistent

WMIリポジトリのトラブルシューティング、修復、および再構築を行う方法は?

この記事では、WMIサービスとリポジトリを診断およびトラブルシューティングするための基本的な方法を示しました。


  1. ApplicationFrameHost.exe とその修復方法は?

    ApplicationFrameHost.exe ファイルが存在しないか破損しているというエラー メッセージが Windows に表示されると、事態は横方向に進みます。ソフトウェアのインストール、Windows の更新、およびその他の関連タスクの実行で問題に直面し始めます。したがって、それを修正することが最も重要です。今日は、Windows 10 で ApplicationFrameHost.exe ファイルの欠落または破損を自動および手動で修正する方法について説明します。 質問 :Microsoft ゲームを起動しようとすると、「アプリケーション フレーム ホストが応答しません」というエラ

  2. Windows 11 を修復して破損したファイルを修正する方法

    Windows 11 の破損したファイルの修正を検討しています または、 Windows 11 を修復する方法について考えていますか? まず第一に、他のユーザーは Windows 11 破損ファイルの正確な修正方法さえ知らないため、これはあなただけではないため、あまり心配する必要はありません。 でも Windows 11 を修復し、破損したファイルを修正するための最適なソリューションのリストをまとめました。 解決策に進む前に いくつかの質問とその回答を用意しています。 ファイルが破損する原因は? 通常、ハード ドライブの不良セクタが原因でファイルが破損します 、いくつかの悪い記