
Windows 11では、Defenderによるセキュリティ保護が常時動作していますが、まれにサービスが正常に立ち上がっていなかったり、別のサービスとの起動順によって不具合が発生することがあります。
この記事では、Defender関連のサービスが起動時に正しく動いているかどうかをバッチスクリプトで確認する方法を紹介します。
目次
なぜ起動順が重要なのか?
Defenderの構成には複数のサービスが関与しています。それぞれのサービスが正しい順番で、かつ正しく立ち上がることが前提となっています。
起動に時間がかかっていたり、依存するサービスが後になってから動く場合、一部機能が使えなかったりエラーが表示されることもあります。
チェック対象となる主なサービス
サービス名 | 説明 |
---|---|
WinDefend(Microsoft Defender Antivirus Service) | メインのウイルス対策サービス |
SecurityHealthService | セキュリティ状態の通知や管理を担当 |
Sense(Windows Defender Advanced Threat Protection) | 保護の監視・レポート連携などに使用されることがある |
これらのサービスは、相互に関連しながら動作します。
起動順を確認するバッチスクリプト例
以下は、Defender関連サービスの状態と起動順をチェックするためのバッチスクリプトです。
@echo off
echo Defender関連サービスの起動状態と順序を確認します...
echo.
for %%S in (
"SecurityHealthService"
"WinDefend"
"Sense"
) do (
echo サービス %%S の状態を確認中...
sc qc %%S | findstr /R "SERVICE_NAME START_TYPE"
sc query %%S | findstr /R "STATE"
echo.
)
pause
スクリプトの説明
sc qc
はサービスの構成(起動の種類)を表示しますsc query
はサービスの現在の状態(起動中/停止中など)を表示します- 起動種類や順序を見比べることで、手動設定になっていないかを確認できます
スクリプトの活用手順
- 上記コードをメモ帳にコピー
check_defender_services.bat
などの名前で保存- ファイルを右クリック → 管理者として実行
この操作で、各サービスの実際の起動状態や構成情報が一覧で確認できます。
さらに確実にするためのポイント
- タスクスケジューラのログを見ると、どのタイミングでサービスが起動されたかがわかります
- イベントビューアー(Systemログ)でもサービスの起動順やエラーが記録されていることがあります
- 定期的にこのバッチを自動実行させ、ログを残しておくことで後からトラブルの原因を追跡しやすくなります
起動順チェックの重要性に着目した工夫
この記事では、次のような観点で内容を構成しています。
- サービスの起動“状態”だけでなく“構成順”に注目する視点
- バッチスクリプトで手軽に確認・再利用できる形式
- エラーが出ていなくても動作に違和感がある場合のチェック手段
多くのトラブルは「サービスが起動していない」ではなく「順序が適切でない」ことに起因しているため、順序の可視化を目的としたバッチスクリプトは有効です。
まとめ
Defenderのサービスは複数存在しており、それぞれが適切な順番で起動することで、セキュリティ機能が完全に働きます。
この記事で紹介したバッチスクリプトを使えば、簡単にその順番と状態を確認でき、トラブル予防や切り分けにも役立ちます。
「なんとなく動作が遅い」「通知が来ない」といった不調を感じたときにも、このチェックを一度試してみてください。

最後までお読みいただきありがとうございます。
コメント