“無効な名前空間です” エラーの対処方法を簡単にするスクリプトを作ってみた
一部のプログラムを実行すると、「無効な名前空間です」というメッセージが出るようになった。
いろいろ知らべて修復できたが、BATファイルを作るのがめんどうだったので、それらの処理を実行するPower Shellを作ってみた。
修復方法
パソコン系の記事は、別ブログへ移行中です。
↓こちらのサイトを確認してください
はじめに
実行する場合は、自己責任でお願いします。
症状
以下の症状が発生。
- 特定のプログラムで、"無効な名前空間です" エラーが発生
- サービスの「Windows Management Instrumentation」は実行中。
- wmimgmt.msc を起動 → [WMI コントロール] を右クリック → [プロパティ] → [詳細]タブで、[スクリプトで使用される既定の名前空間]の表示が「利用不可」、[変更]ボタンが選択できない。(写真は正常な状態)
対処方法
きちんと理解できていないのだが…
WMI リポジトリというものが壊れているのが、"無効な名前空間です"エラーの原因のひとつ。
レジストリのHKLM\Software\Microsoft\WBEM\CIMOM\Autorecover MOFsからMOFファイル一覧を取得して、mofcomp.exeでそれらをコンパイルし、WMI リポジトリに登録すれば、復旧できるらしい。
症状が出たPCには、テキストエディタなどが入ってなかったので、メモ帳でコピペを何度も繰り返してbatファイルを作成。かなりめんどうくさかった。
もっと簡単な方法はないか?
手順
- メニューに「power shell」と入力、表示されたアイコンを右クリックして「管理者として実行」を選択
- 次のコードをPower Shellの画面にコピペしてエンター
- 「MOF ファイルの解析中」「MOF ファイルが解析されました」「データベースにデータを格納しています…」「完了」の表示が何回も繰り返され、止まれば終了。
中でやっていること
- レジストリからMOFファイルの一覧を取得
- それらをひとつづつ、mofcomp.exeの引数に渡して実行
というわけで
これで症状が直らない場合もあるらしいので、ダメなら別の対処方法を。
ディスカッション
コメント一覧
まだ、コメントがありません