Windowsで不具合があった際、イベントログを確認するために必ず利用するイベントビューアーですが、何故か突然開けなくなるエラーが発生。
ちょっと古いWindows Serverだったので、もしかしたら何が壊れているかもしれないと思い、詳しく調べてみることにしました。
エラーメッセージの内容
出典:degitekunote2イベントビューアーを開こうとすると、このようなエラーメッセージが表示されました。
MMC はファイル C:\WINDOWS\system32\devmgmt.msc を開くことができません。ファイルが存在しないか、MMC コンソールでないか、または後のバージョンの MMC で作成された可能性があります。また、ファイルへのアクセス権が不足している場合もあります。
え~と…はい!よくわからないので、Google先生の出番ですね!
Microsoftの公式サポートサイトに、同じような内容の記事が掲載されていました。
ここではイベントビューアーではなく、「デバイスマネージャー」や「コンピュータの管理」を開くとエラーメッセージが表示されるようです。
メッセージの内容は全く一緒なので、これらのツールも同じく「Microsoft 管理コンソール(MMC)」というものを使っていると思われます。
原因と解決方法
上記のMicrosoftのサイトの中から、エラーが発生して開けなくなる原因と解決する方法を抜粋します。
ファイルの欠損は破損が原因!?
どうやら「%windir%\system32
」配下にある、1つまたは複数の「Msxml~.dll」というDLLファイルが存在しないか、破損していることが原因だということです。
(それなら、エラーメッセージもそう表記してくれ!)
見た感じ何が正常で何が足りない、もしくはどれが破損しているかわからないので、とりあえずMicrosoft公式サイトの自己解決方法に従ってみましょう。
コマンドで問題を解決!
作業はコマンドプロンプトから行います。
書いていませんでしたが、このような作業をする場合は管理者権限で実行するのが望ましいでしょう。
まず、フォルダを移動します。
C:\Users\Administrator>cd %windir%\system32
C:\Windows\System32>
%windir%
は「Windows」フォルダのことなので、多くの人は「C:\Windows\System32」に移動するでしょう。
そして、「Msxml~.dll」のファイル数だけ以下のコマンドを実行します。
※~には数字が入ります
Regsvr32 Msxml.dll
Regsvr32 Msxml1.dll
Regsvr32 Msxml2.dll
Regsvr32 Msxml3.dll
・・・
終わったらexit
で終了し、OSを再起動したら完了です。
その他の対策案
Microsoft公式ではありませんが、上記の画像の出典元のサイトでは、ある特定のフォルダを削除するだけで解決する可能性があるとのことですので、一緒に紹介させていただきます。
以下のフォルダパスに移動すると…
※AppDataは隠しフォルダです
C:\Users\Administrator\AppData\Roaming\Microsoft\
その中に「MMC」というフォルダがあると思います。
コレを削除(心配な場合はリネーム)してからイベントビューアーを開くと、正常に開くことができ、MMCフォルダも自動的に作成されるようです。
この方法で上手くいくなら再起動しなくて良いので、Windows Serverなど常に稼働していて止めたくない場合は先にこちらを試すのもありかもしれません。
- Original:https://minory.org/windows-server-mmc-error.html
- Source:Minory
- Author:管理者