Windows Defenderが使用不可になっていた
先日Windows11にアップグレードしたパソコンを、色々あってWindows10に戻した。
また、復元自体は上手く行ったのだが、その後Windows11 Insider Previewを勝手にダウンロード/インストールして再起動待ちの状態になるようになってしまったので、システムの復元機能を使って復元をしたところ、Windows Defenderが使用不可になってしまった。
具体的には以下のような症状になった。
- 「ウイルスと脅威の防止」で最後に実行したスキャンが「使用不可」になっている
- クイックスキャン等を実行しても、0ファイルのままスキャンが進まない
- 「ウイルスと脅威の防止の設定」を開くと「この設定は管理者によって管理されています」と表示され設定変更ができない(勿論管理者は自分。というか自宅PCなのでそんなこと意識していない)
- Windows UpdateにおいてDefender のアップデートが エラー コード 0x80070643 で失敗している
- Windows セキュリティ関連のページを開くと「IT管理者によって制限されています」と出てくる
- コントロールパネル→システムとセキュリティ→Windows DefenderファイアウォールによるPCの保護は有効になっているように見える
こんな感じ。


同じ「使用不可」でも、原因は1つではない
私が遭遇したのは、後述するとおり「サービスに設定された実行ファイルのパスが存在しない」というかなり特殊なケースだった。ただ、同じ症状で検索してくる人が全員同じ原因とは限らない。先に切り分けの手順を書いておく。自分のケースの記録だけを読みたい場合は、次の【原因】まで読み飛ばしてほしい。
症状としては、だいたい次のどれかで困っているはずだ。
- 「ウイルスと脅威の防止」で、最後に実行したスキャンが「使用不可」のままになっている
- スキャンのボタンが押せない、右クリックメニューの「Microsoft Defender でスキャンする」が出てこない
- 設定を触ろうとすると「この設定は IT 管理者によって制限されています」と表示される
- Windows 11 にしてからウイルススキャンができなくなった
まず現在の状態を確認する
PowerShell を管理者権限で開いて、次を実行する。
Get-MpComputerStatus | Select-Object AMServiceEnabled, AntivirusEnabled, RealTimeProtectionEnabled, AntivirusSignatureLastUpdated
AMServiceEnabled が False なら、Defender のサービスそのものが動いていない。True なのにスキャンできないなら、ポリシーによる制限か、他のウイルス対策ソフトの影響を疑う。
次に、関係するサービスをまとめて確認する。これは Microsoft のトラブルシューティング手順で案内されている確認方法そのものである。
Get-Service WinDefend, WdBoot, WdFilter, WdNisSvc, WdNisDrv, SecurityHealthService, wscsvc | Format-Table -Auto DisplayName, Name, StartType, Status
本体は WinDefend で、これが「自動」かつ「Running」なら正常。WdFilter が停止しているときも同じくおかしい。
最後に、サービスに設定されている実行ファイルのパスを見る。
sc.exe qc WinDefend
出力に BINARY_PATH_NAME という行がある。ここに書かれているパスを、エクスプローラーで実際にたどれるかどうか。ここが食い違っていたのが私のケースだった。
原因① 他のウイルス対策ソフトが入っている
ウイルスバスターやノートンなど、他社のウイルス対策ソフトがインストールされていると Defender は無効になる。これは不具合ではなく、Microsoft 自身がトラブルシューティングの手順の中で「Defender を主に使うなら他社製ソフトはアンインストールすること」と案内しているとおりの挙動である。「ウイルスと脅威の防止」の画面にもそのソフトの名前が出るので、心当たりがあるならまずここで切り分けを終わらせたほうが早い。
原因② ポリシーで無効化されている(「この設定は IT 管理者によって制限されています」)
会社から支給された PC でよく見るパターン。グループポリシーやレジストリで Defender が無効化されていると、設定画面に「この設定は IT 管理者によって制限されています」と表示され、スイッチが操作できなくなる。
適用されているポリシーは次で書き出せる。
gpresult /h "$env:USERPROFILE\Desktop\gpresult.html" /f
レジストリ側は次のキーを見る。
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows Defender
ここに DisableAntiSpyware という値が 1 で存在していれば、ポリシーによる無効化を狙った設定が入っているということになる。
ただし、いまの Windows では改ざん防止(Tamper Protection)が既定で有効になっており、Microsoft のドキュメントにも「グループポリシーで管理している場合、改ざん防止された設定に対する変更は無視される」と明記されている。つまり個人用の PC では、この値が入っていても実際には効いていないことがある。逆に会社の PC でこの表示が出ているなら、それは意図された設定である可能性が高い。勝手に解除せず、情報システム部門に確認すること。
原因③ Defender のサービスが起動していない
WinDefend サービスが停止しているなら、起動を試す。
Start-Service WinDefend
アクセスが拒否される、あるいは起動してもすぐ停止してしまう場合は、原因②か、次の④の可能性が高い。
原因④ サービスの実行ファイルのパスが存在しない
sc.exe qc WinDefend で表示された BINARY_PATH_NAME のフォルダが、実際には存在していないというケース。Defender のプラットフォーム更新はバージョン番号入りのフォルダに展開されるため、更新の途中で何かがあると、サービス設定側のパスと実体のフォルダ名が食い違ったまま残ることがある。
私が引いたのがこれだった。ここから先は、実際にうちの PC で起きたことの記録である。
Windows 11 でウイルススキャンができない場合
確認の手順は Windows 10 と同じで構わないが、設定画面の場所が変わっている。Windows 11 では「設定 → プライバシーとセキュリティ → Windows セキュリティ → ウイルスと脅威の防止」である。
Windows 11 は改ざん防止が既定で有効なので、レジストリやポリシーから Defender を止めようとしても反映されないことがある。裏を返すと、「スキャンボタンが押せない」「最後に実行したスキャンが使用不可のまま」という症状が出ているなら、それは改ざん防止のせいではなく、上に書いたサービス側を疑ったほうがよい。
【原因】Windows Defenderサービスに設定されている実行ファイルのパス(フォルダ)が存在していなかった
直接原因は、Windows Defenderサービスに設定されている実行ファイルのパス(フォルダ)が存在していないため、Windows Defenderサービスの実行自体ができていなかったからだった。
確認方法は以下の通り
①Winボタン+Rで「ファイル名を指定して実行」を起動し、「services.msc」と入力、OKする。
※Windowsロゴマークをクリックして「サービス」と検索してもいいし、タスクマネージャの
「サービス」タブから「サービス管理ツールを開く」をクリックでもいい

②「サービス」が開くので、「Microsoft Defender Antivirus Service」の項目を確認、状態が実行中でないことを確認する。

③「サービスの開始」をクリックすると「ローカルコンピューターのMicrosoft Defender Antivirus Serviceサービスを開始できません。エラー2:指定されたファイルが見つかりません」と表示される。

④「Microsoft Defender Antivirus Service」を右クリックし「プロパティ」をクリック。

⑤実行ファイルのパスに記載されているフォルダを確認しアクセスする。画像の例の場合はC:\ProgramData\Microsoft\Windows Defender\Platformにアクセスする。
また、下位フォルダ(おそらくバージョン情報)の名称を確認しておく。
画像の例の場合は「4.18.23090.2008-0」。

⑥先程アクセスしたフォルダ(C:\ProgramData\Microsoft\Windows Defender\Platform)に実行ファイルのパスに記載されている「4.18.23090.2008-0」というフォルダが存在するかどうか、存在した場合はその下に実行ファイル(MsMpEng.exe)が存在するかどうかを確認する。
なお、私の場合は「4.18.23090.2008-0」というフォルダ自体が存在しなかった。
つまり、サービス実行できない状態であった。

【対策】存在しているフォルダにシンボリックリンクを張ってサービスを立ち上げ、その後WindowsUpdateを行った
前述の通り「4.18.23090.2008-0」というフォルダは存在しなかったが、代わりに「4.18.23100.2009-0」「4.18.23110.3-0」という別のフォルダが存在し、中には実行ファイル(MsMpEng.exe)も存在していることが確認できた。名称からバージョン情報であろうと考え、Microsoft Defender Antivirus Serviceサービスの実行ファイルのパスである「4.18.23090.2008-0」から「4.18.23110.3-0」へのシンボリックリンクを張り、サービスを立ち上げることができた。
■シンボリックリンクを張る手順
コマンドプロンプトを管理者として実行し以下コマンドを入力する
MKLINK /D "C:\ProgramData\Microsoft\Windows Defender\Platform\4.18.23090.2008-0" "C:\ProgramData\Microsoft\Windows Defender\Platform\4.18.23110.3-0
「シンボリックリンクが作成されました」と表示されればOK。

この状態から、再度「サービスの開始」をクリックすると状態が「実行中」となる。

この状態が確認できたら、念のためPC再起動を行い、Microsoft Defender Antivirus Service の自動起動を確認する(スタートアップの種類が自動になっていなければ、予め自動にしておくこと)
再起動後もサービスが実行中となっていればOK。
この時点で改めて「ウイルスと脅威の防止」を見ると、変わらず最後に実行したスキャンが「使用不可」になっていると思うが、クイックスキャンを実行すると今度はファイル数が増えスキャンが進行するようになっている。


また、Windows Updateにおいて エラー コード 0x80070643 で失敗していたDefender のアップデートが正常に行えるようになり、アップデート後にMicrosoft Defender Antivirus Service の実行ファイルのパスが
C:\ProgramData\Microsoft\Windows Defender\Platform\4.18.23110.3-0\MsMpEng.exe
と変化し、正常化した。


【考察】なぜ不一致状態が生まれてしまったのか
今回私は、過去に作成したシステムイメージを元に、「システムの復元」機能を利用して復元作業を行った。
システムイメージは本来、ある時点のドライブ状態を完璧にコピーしているもののはずだが、「システムの復元」はインストールしたプログラムやドライバーの状態はアンインストールされる可能性があるものの、ドキュメントや画像、その他の個人データは復元ポイントより後に実行した内容をアンインストールされない性質がある(デスクトップに作成したファイルなど)。
おそらく、復元ポイント作成から更新されたDefenderの定義情報を後者と認識して復元せず、一方でサービスの情報(=Defenderの実行ファイルのパス情報)は前者と認識して内容を復元したことにより、参照先フォルダが存在しないという不一致状態になってしまったのでないかと考察している。
改版履歴
2023/12/15 初版作成
2026/9/14 同じ症状でも原因が複数あることを踏まえ、症状の確認方法と原因①〜④の切り分けセクションを冒頭に追加


コメント