Windows 7 SP1やWindows Server 2008 R2 SP1でMicrosoft Defender for Endpoint deployment tool(DefenderDT)が起動しない、または導入途中で失敗する場合は、まずOSの前提条件を確認してください。
対象になるのはx64版のWindows 7 SP1とWindows Server 2008 R2 SP1です。最低限、SHA-2コード署名を扱うためのKB4474419が必要で、あわせてServicing Stack UpdateのKB4490628も適用しておく必要があります。さらにWindows Server 2008 R2 SP1では、.NET Framework 3.5以降が必要です。これらが欠けている状態では、DefenderDTを実行しても前提条件の確認段階や署名検証、コンポーネントのインストールで失敗する可能性があります。(Microsoft Learn)
DefenderDTがWindows 7/Server 2008 R2で失敗する場合のKB要件
旧WindowsでDefender deployment toolを使用する場合の必須条件は、次のとおりです。
| 確認項目 | Windows 7 SP1 | Windows Server 2008 R2 SP1 |
|---|---|---|
| x64版OS | 必須 | 必須 |
| Service Pack 1 | 必須 | 必須 |
| KB4490628 | 必須条件として確認 | 必須条件として確認 |
| KB4474419 | 最低限必要 | 最低限必要 |
| .NET Framework 3.5以降 | DefenderDTの追加要件としては記載なし | 必須 |
| 管理者権限 | 必須 | 必須 |
| Microsoft配信先への通信 | 必須 | 必須 |
Microsoftの公式ドキュメントでは、Windows 7 SP1とWindows Server 2008 R2 SP1でDefenderDTを動かすために、最低限KB4474419をインストールするよう明記されています。同じ前提条件の項目には、Servicing Stack UpdateであるKB4490628も掲載されています。(Microsoft Learn)
実務では、KB4490628とKB4474419の両方を旧Windows端末の標準前提条件として扱うのが安全です。
なぜKB4474419がないとDefenderDTを動かせないのか
KB4474419は、Windows 7 SP1やWindows Server 2008 R2 SP1にSHA-2コード署名のサポートを追加する更新プログラムです。
MicrosoftはWindowsの更新プログラムや各種コンポーネントの署名方式を、旧来のSHA-1から、より安全なSHA-2へ移行しました。しかし、更新されていないWindows 7やWindows Server 2008 R2は、SHA-2で署名された新しいプログラムや更新ファイルを正常に検証できません。
そのため、DefenderDT本体やDefenderDTが取得するコンポーネントを正しく検証できず、次のような問題につながります。
- DefenderDTを実行しても処理が始まらない
- 起動直後に終了する
- 署名検証に失敗する
- 前提条件チェックで失敗する
- 必要なDefenderコンポーネントをインストールできない
- オンボーディング処理まで進まない
Defender deployment toolは多くの前提コンポーネントを自動的に確認・導入しますが、DefenderDT自身を正常に実行するためのSHA-2対応は、事前にOS側へ用意しておかなければなりません。(Microsoft Learn)
KB4490628も前提条件として確認する
KB4490628は、Windows 7 SP1とWindows Server 2008 R2 SP1向けのServicing Stack Updateです。
Servicing Stack Updateは、Windows UpdateやMSUパッケージなどをOSへ適用する仕組み自体を更新します。KB4474419だけに注目しがちですが、更新プログラムを正しく処理できる状態にするため、KB4490628も確認してください。
MicrosoftのSHA-2対応に関するサポート情報では、Windows 7 SP1およびWindows Server 2008 R2 SP1について、次の2つが必要な更新として案内されています。
- KB4490628:Servicing Stack Update
- KB4474419:SHA-2コード署名対応更新
Microsoftによると、この2つはどちらの順番でインストールしても構いません。ただし、すべての必須更新をインストールした後に再起動が必要です。(Microsoft サポート)
管理しやすさを優先するなら、次の順序で進めると分かりやすくなります。
- KB4490628をインストールする
- KB4474419をインストールする
- OSを再起動する
- DefenderDTの前提条件チェックを実行する
- Defender for Endpointへのオンボーディングを実行する
この順序は絶対条件ではありませんが、Servicing Stack Updateを先に適用することで、その後の更新処理を切り分けやすくなります。
対象はx64版のWindows 7 SP1とServer 2008 R2 SP1のみ
Defender deployment toolが対応する旧Windowsは、次の2種類です。
- x64版Windows 7 Service Pack 1
- x64版Windows Server 2008 R2 Service Pack 1
x86版のWindows 7は対象外です。また、Windows Server 2008 SP2とWindows Server 2008 R2 SP1は別のOSです。名称が似ていますが、DefenderDTの対応OSとして記載されているのはWindows Server 2008 R2 SP1です。(Microsoft Learn)
「Windows 7だから使える」「Windows Server 2008だから使える」と判断せず、次の3点を個別に確認してください。
- OSの製品名
- 64ビット版かどうか
- Service Pack 1が適用されているか
OSの種類、アーキテクチャ、Service Packを確認する
管理者権限でコマンドプロンプトを開き、次のコマンドを実行します。
wmic os get Caption,OSArchitecture,ServicePackMajorVersion
確認結果の例は次のとおりです。
Caption OSArchitecture ServicePackMajorVersion
Microsoft Windows Server 2008 R2 Standard 64-bit 1
次の条件をすべて満たしていることを確認します。
CaptionがWindows 7またはWindows Server 2008 R2OSArchitectureが64-bitServicePackMajorVersionが1
WMICを使わずに確認する場合は、次のコマンドでもOS情報を表示できます。
systeminfo
表示結果から「OS名」「システムの種類」「Service Pack」の項目を確認してください。
KB4474419とKB4490628のインストール状況を確認する
コマンドプロンプトで確認する方法
管理者権限のコマンドプロンプトで、次のコマンドを実行します。
wmic qfe get HotFixID,InstalledOn | findstr /i "KB4474419 KB4490628"
両方がインストールされていれば、次のように表示されます。
KB4474419 2019/10/08
KB4490628 2019/03/12
日付の表示形式は端末の設定によって異なります。
片方しか表示されない場合は、表示されなかった更新プログラムを追加してください。何も表示されない場合は、両方が未適用である可能性があります。
個別に確認する場合は、次のコマンドを使用します。
wmic qfe where "HotFixID='KB4474419'" get HotFixID,InstalledOn
wmic qfe where "HotFixID='KB4490628'" get HotFixID,InstalledOn
PowerShellで確認する方法
PowerShellが利用できる環境では、次のコマンドでも確認できます。
Get-HotFix -Id KB4474419,KB4490628
一方の更新が見つからない場合は、該当するKBについてエラーが表示されることがあります。表示された更新だけで判断せず、両方のKB番号を確認してください。
Windows Server 2008 R2では.NET Framework 3.5以降も必要
Windows Server 2008 R2 SP1でDefender deployment toolを使用する場合は、KB4474419とKB4490628に加えて、.NET Framework 3.5以降が必要です。Windows 7 SP1向けの追加要件としては記載されていないため、この条件は特にサーバー管理者が見落としやすいポイントです。(Microsoft Learn)
Server Managerで確認する方法
Windows Server 2008 R2では、次の手順で確認できます。
- Server Managerを開く
- 左側の「Features」を選択する
- インストール済み機能を確認する
- 「.NET Framework 3.5.1 Features」が有効になっているか確認する
無効の場合は、「Add Features」から.NET Framework 3.5.1 Featuresを追加します。
DISMで確認する方法
管理者権限のコマンドプロンプトで、次のコマンドを実行します。
dism /online /Get-FeatureInfo /FeatureName:NetFx3
有効になっている場合は、状態に相当する項目がEnabledと表示されます。
State : Enabled
無効になっている場合は、サーバーの変更手順や保守ルールに従って有効化してください。
前提更新を適用してからDefenderDTを実行する手順
旧Windows端末では、いきなりDefenderDTを実行するのではなく、次の順番で作業すると失敗原因を切り分けやすくなります。
事前にバックアップを取得する
Windows 7やWindows Server 2008 R2は古いOSです。更新適用前に、少なくとも次の準備を行ってください。
- 重要データをバックアップする
- 仮想マシンの場合は復元方法を確認する
- システムドライブの空き容量を確認する
- 再起動可能な時間帯を確保する
- 業務アプリケーションの停止手順を確認する
スナップショットだけに依存すると、長期間戻せない構成やドメイン参加サーバーで問題になることがあります。組織のバックアップ手順に従って復旧可能性を確認してください。
Microsoft公式の配信経路からKBを入手する
更新プログラムは、次のいずれかの方法で適用します。
- Windows Update
- WSUS
- Microsoft Update Catalogから取得したMSUファイル
- 組織のソフトウェア配布システム
Windows Updateを利用している場合、必要なSSUとSHA-2更新は自動的に提示されることがあります。一方、インターネットへ接続できない端末や、更新が長期間停止しているWSUS環境では、手動適用が必要になる可能性があります。(Microsoft Learn)
非公式サイトからMSUファイルやDefenderDTをダウンロードするのは避けてください。
MSUファイルを手動インストールする
取得したファイルを、たとえばC:\Tempへ配置します。
KB4490628をインストールします。
wusa.exe "C:\Temp\<KB4490628のMSUファイル名>" /quiet /norestart
続いてKB4474419をインストールします。
wusa.exe "C:\Temp\<KB4474419のMSUファイル名>" /quiet /norestart
ファイル名は、取得したパッケージの名称に置き換えてください。対象OSやアーキテクチャが異なるパッケージはインストールできません。
両方の適用後、端末を再起動します。
shutdown /r /t 0
Microsoftは、必須更新をすべてインストールした後、後続の更新を適用する前に再起動するよう案内しています。(Microsoft サポート)
再起動後にKBを再確認する
再起動後、再度次のコマンドを実行します。
wmic qfe get HotFixID,InstalledOn | findstr /i "KB4474419 KB4490628"
両方が表示されることを確認してからDefenderDTへ進みます。
DefenderDTの前提条件チェックを実行する
DefenderDTをコマンドラインから使用できる状態になったら、オンボーディングの前に前提条件チェックを実行します。
管理者権限のコマンドプロンプトを開き、DefenderDT.exeを配置したフォルダーへ移動します。
cd /d C:\DefenderDT
次のコマンドを実行します。
DefenderDT.exe -PreCheck -Verbose -Quiet
-PreCheckは前提条件を確認し、ログへ結果を記録します。-Verboseを付けることで詳細情報を出力し、-Quietを付けることでダイアログを表示せず実行できます。(Microsoft Learn)
ただし、KB4474419が欠けていてDefenderDT自体を正常に起動できない場合は、PreCheckまで到達できません。そのため、旧Windowsでは先にOSとKBを手動確認することが重要です。
エラーコードから原因を切り分ける
DefenderDTを一括展開やコマンドラインで実行した場合は、終了コードも確認します。
| 終了コード | 意味 | 最初に確認する項目 |
|---|---|---|
| 0 | 正常終了 | 追加対応不要 |
| 10 | 続行に再起動が必要 | 再起動後の処理再開 |
| 11 | 署名検証に失敗 | KB4474419、ファイル破損、取得元 |
| 40 | 管理者権限がない | 管理者またはSYSTEMで再実行 |
| 50 | 対応していないOS | x64、SP1、OS製品名 |
| 90 | 前提条件チェック失敗 | KB、.NET、再起動待ち状態 |
| 400 | 必要コンポーネントのダウンロード失敗 | DNS、プロキシ、ファイアウォール |
| 500 | 必要コンポーネントのインストール失敗 | 更新状態、空き容量、ログ |
| 600 | 更新パッケージの適用失敗 | Servicing Stack、再起動、パッケージ適合性 |
終了コード11が出たからといって、必ずKB4474419だけが原因とは限りません。DefenderDTのファイル破損や、不適切な配布経路も考えられます。同様に終了コード90は、KB以外の前提条件でも発生し得ます。終了コードとログを組み合わせて判断してください。(Microsoft Learn)
DefenderDTのログを確認する
Defender deployment toolのログは、次の場所に作成されます。
C:\ProgramData\Microsoft\DefenderDeploymentTool\DefenderDeploymentTool-<コンピューター名>.log
たとえば、端末名がSERVER01なら、次のようなファイル名になります。
C:\ProgramData\Microsoft\DefenderDeploymentTool\DefenderDeploymentTool-SERVER01.log
ログでは、次の語句を中心に確認します。
PrerequisiteSignatureSHAUpdateDownloadInstallFailedRebootExit code
画面上では単に「失敗」と表示されても、ログには前提条件チェック、ダウンロード、更新適用、センサー初期化など、失敗した工程が記録されます。(Microsoft Learn)
KBを適用しても失敗する場合の確認項目
KB4474419、KB4490628、.NET Frameworkを確認しても失敗する場合は、次の順番で切り分けます。
管理者権限で実行しているか
DefenderDTの多くの操作には管理者権限が必要です。
手動実行では「管理者として実行」を選択してください。グループポリシーやソフトウェア配布ツールを使用する場合は、SYSTEMなど十分な権限を持つアカウントで実行します。
終了コード40が記録されている場合は、権限不足を優先して確認します。(Microsoft Learn)
再起動待ちになっていないか
KBをインストールしても、再起動前では更新が完全に有効になっていないことがあります。
次のような運用は避けてください。
- KBを適用した直後にDefenderDTを実行する
- 再起動を何日も先送りする
- 複数の更新を適用しながら再起動判定を無視する
- 保留中の更新がある状態で一括展開する
旧Windowsでは、前提更新を適用した後に一度明示的に再起動してから、DefenderDTを実行するのが確実です。
Microsoftの配信先へ通信できるか
DefenderDTは、自身の更新や必要なファイルの取得にMicrosoftの配信先を使用します。公式ドキュメントでは、少なくとも次の通信要件が示されています。
definitionupdates.microsoft.comへアクセスできる- Defender for Endpointに必要なサービスURLへ接続できる
*.endpoint.security.microsoft.comへの通信が確保されている- SSL/TLSインスペクションやHTTPS通信の介入で通信を壊していない
特にプロキシやSSLインスペクションを導入している組織では、ファイルのダウンロードには成功しても、Defender for Endpointのバックエンド通信で失敗する場合があります。Microsoftは、*.endpoint.security.microsoft.comへの通信をSSL/TLS検査やHTTPSインターセプトの対象から除外するよう案内しています。(Microsoft Learn)
OS名を取り違えていないか
次のOSは混同しやすいため注意が必要です。
| OS | DefenderDTの旧Windows対象 |
|---|---|
| Windows 7 SP1 x64 | 対象 |
| Windows 7 SP1 x86 | 対象外 |
| Windows Server 2008 R2 SP1 x64 | 対象 |
| Windows Server 2008 SP2 | 対象外 |
| Windows Server 2008 R2 SP1未適用 | 対象外 |
Windows Server 2008 SP2向けにもSHA-2関連更新は存在しますが、それを適用すればDefenderDTの対応OSになるわけではありません。SHA-2更新の対象OSと、Defender deployment toolの対応OSは分けて判断してください。
大量展開ではKB確認を先に自動化する
複数台へDefenderDTを展開する場合、全端末へ一斉実行してから失敗端末を調査する方法は非効率です。
先に端末を次のグループへ分類します。
| グループ | 状態 | 対応 |
|---|---|---|
| A | x64、SP1、両KB適用済み | DefenderDTのPreCheckへ進む |
| B | x64、SP1、KB不足 | KB適用と再起動を先に行う |
| C | Server 2008 R2で.NET不足 | .NETを有効化する |
| D | x86または対象外OS | DefenderDT展開対象から除外する |
| E | KB適用済みだが通信不可 | プロキシ、DNS、FWを修正する |
PowerShellで簡易的に確認する場合は、次のようなスクリプトを利用できます。
$os = Get-WmiObject Win32_OperatingSystem
$kb4474419 = Get-HotFix -Id KB4474419 -ErrorAction SilentlyContinue
$kb4490628 = Get-HotFix -Id KB4490628 -ErrorAction SilentlyContinue
Write-Host "OS:" $os.Caption
Write-Host "Architecture:" $os.OSArchitecture
Write-Host "Service Pack:" $os.ServicePackMajorVersion
Write-Host "KB4474419:" $(if ($kb4474419) { "Installed" } else { "Missing" })
Write-Host "KB4490628:" $(if ($kb4490628) { "Installed" } else { "Missing" })
対象端末すべてで次の順序を統一すると、展開失敗を減らせます。
- OSとアーキテクチャを棚卸しする
- Service Pack 1を確認する
- KB4490628とKB4474419を確認する
- Server 2008 R2では.NET Frameworkも確認する
- 不足コンポーネントを適用する
- 再起動する
- DefenderDTのPreCheckを実行する
- 問題のない端末から段階的にオンボーディングする
よくある疑問
KB4474419だけ入っていれば動くのか
MicrosoftのDefenderDTドキュメントでは、ツールを実行するための最低条件としてKB4474419が明記されています。一方、同じ前提条件にはSSUのKB4490628も掲載され、MicrosoftのSHA-2サポート情報でも両方が必要な更新として案内されています。
したがって、実務ではKB4474419だけでなくKB4490628も適用済みであることを確認するのが適切です。(Microsoft Learn)
KB4490628とKB4474419はどちらを先に入れるべきか
Microsoftの案内では、両方の更新はどちらの順番でもインストールできます。
ただし、作業手順を統一するなら、次の順番が分かりやすいでしょう。
- KB4490628
- KB4474419
- 再起動
- DefenderDT
重要なのは順番よりも、両方を適用し、再起動を完了してからDefenderDTを実行することです。(Microsoft サポート)
Windows Updateを実行すれば自動的に入るのか
Windows Updateが正常に機能している場合、必要なSSUとSHA-2更新が自動的に提示されることがあります。
ただし、旧Windows環境では次の問題が起きやすいため、インストール済みKBを明示的に確認してください。
- 更新ポリシーで配信が制限されている
- WSUSの同期対象から外れている
- 長期間更新されていない
- インターネットへ接続できない
- 更新プログラムの承認が行われていない
- 再起動が保留されている
「Windows Updateを実行したから大丈夫」ではなく、KB番号まで確認する必要があります。
DefenderDTが対応していれば旧Windowsを使い続けてもよいのか
Defender deployment toolが対応していることと、OS自体が通常のライフサイクルサポートを受けていることは別です。
Defender for Endpointを導入しても、古いOSに存在するすべてのリスクを解消できるわけではありません。DefenderDTによるオンボーディングは保護強化の手段として実施しつつ、可能な環境から新しいWindowsまたはWindows Serverへの移行計画も進める必要があります。
旧WindowsでDefenderDTを動かすための最終チェック
DefenderDTを実行する前に、次の項目を確認してください。
- x64版Windows 7 SP1またはWindows Server 2008 R2 SP1である
- KB4490628がインストールされている
- KB4474419がインストールされている
- 必須更新の適用後に再起動している
- Server 2008 R2では.NET Framework 3.5以降が有効である
- 管理者権限で実行している
- Microsoftの配信先へ通信できる
- SSL/TLSインスペクションがDefender通信を妨げていない
-PreCheckで前提条件を確認している- 失敗時はDefenderDeploymentToolのログを確認している
Windows 7 SP1やWindows Server 2008 R2 SP1でDefenderDTが失敗した場合、最初に再ダウンロードやコマンド変更を繰り返すのではなく、OSの種類、x64、SP1、KB4490628、KB4474419、.NET Frameworkの順に確認することが重要です。
特にKB4474419がない端末では、DefenderDTが自動修復を開始する前の段階でつまずく可能性があります。まず旧WindowsをSHA-2署名に対応させ、再起動後にPreCheckを行ってから、Defender for Endpointへのオンボーディングを進めてください。

コメント