原因: スタートアップの指定に不具合があった
対処: 環境変数 %SystemRoot% を直接指定の C:\Windows\ に変更する
他種のアンチウイルスソフトを利用しているので Windows Defender のアイコンを消す、表示させない、といった記事は検索すればどこでも見つかるが、逆に Windows Defender を使用しているのにアイコンが消えてしまって難儀する、というケースも存在する。
Windows Defender が正常に動作している条件(ファイヤーウォールも含めて)として、以下4つのサービスが動作中である必要がある。
サービス名 | 表示名 |
---|---|
Sense | Windows Defender Advanced Threat Protection Service |
WdNisSvc | Windows Defender Antivirus Network Inspection Service |
WinDefend | Windows Defender Antivirus Service |
mpssvc | Windows Defender Firewall |
その上でタスクトレイにアイコンを表示させるために SecurityHealthSystray.exe を起動するのだが、通常はスタートアップに登録済みだ。
スタートアップで無効になっていれば有効に変更すれば済むが、有効であるにもかかわらず、動作中にタスクトレイのアイコンのみが表示されない状態のPCがあった。
エクスプローラー等から SecurityHealthSystray.exe を起動すればアイコンが表示されるようになるため、スタートアップの設定に問題があるのだろう。
レジストリに登録されているスタートアップの標準は次の通りだ。
%SystemRoot%\System32\SecurityHealthSystray.exe
%SystemRoot% は Windowsフォルダーそのものを指すため、パスとして間違っていない。だが、これを Windows10 が正確に解釈していないとしたら?
Windows10 になってからは Windowsそのものに全く信頼を置いていないので、些細なことでも疑うようになっている。
試しに
C:\Windows\System32\SecurityHealthSystray.exe
とすると……
なんと、アイコン表示の正常動作に戻った。
今回の対応にはレジストリのRunエントリを変更することになるが、下記の内容をレジストリファイルとして実行すればよいだろう。
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]
"SecurityHealth"="C:\\Windows\\System32\\SecurityHealthSystray.exe"
なお、当ブログは自分の対処方法を公開しているだけであり、実行における責任は各自のものとして扱うよう明記しておく。