修复:Microsoft Defender 在 Windows 中不自动更新

Jacki

如果内置Microsoft Defender 防病毒软件如果未自动更新,我们建议使用本文中概述的诊断和故障排除步骤来解决常见的定义更新问题。

在继续之前,请注意 Windows 10 和 11 包含两种用于更新 Microsoft Defender 引擎文件和防病毒签名定义的内置机制:

  • 自动下载并安装 Microsoft Defender 更新通过 Windows更新。在 Windows 控制面板中打开更新安装历史记录 (ms-settings:windowsupdate-history)。请注意Microsoft Defender 防病毒软件的安全情报更新 —KB2267602(版本 xxxxxx)— 当前频道(广泛)在“定义更新”下更新。它通过 Windows 更新或企业 WSUS 服务器定期下载和安装。更新 KB2267602 包含定义和引擎更新。即使 Windows 更新服务被禁用,Microsoft Defender 防病毒软件也将继续使用其内置更新机制进行更新,如下所述。
  • Windows Defender 引擎定期检查 Microsoft 服务器是否有新的防病毒签名数据库并自动更新。

如果 KB2267602 更新无法通过 Windows 更新下载(下载挂在0%)或者您遇到错误(80072f8f或者0x80072ee2)安装时,请检查您的互联网连接和 Windows 更新策略设置。如果需要,请重置计算机上的 Windows 更新服务配置。但事实上,Windows Update 并不是更新计算机上防病毒定义的主要方法。

运行以下 PowerShell 命令以查明 Defender 防病毒数据库上次更新时间以及是否启用自动更新:

Get-MpComputerStatus | Select-Object AntivirusSignatureLastUpdated, AntivirusSignatureVersion|fl

Windows安全UWP应用程序用于管理Windows 10/11和Windows Server 2025/2022中的内置防病毒软件。您可以从“设置”应用程序或使用以下命令打开它:
ms-settings:windowsdefender

病毒和威胁防护更新部分显示防病毒数据库的版本及其上次更新时间。

如果 Microsoft 安全应用无法打开或显示空白屏幕,请按以下方法修复该问题。

如果内置的 Microsoft Defender 更新机制不起作用,您将在此处看到错误:

Protection definition update failed (800704C6)

现在,让我们回顾一下如何诊断和解决常见的 Defender 防病毒数据库更新问题。

更新任务运行的频率在 Windows Defender 设置中配置。确保这两个参数均已设置。

Get-MpPreference | Select-Object SignatureScheduleDay, SignatureScheduleTime

确保 Microsoft Defender 防病毒软件未禁用并且所有相关服务正在运行。

get-service WdNisSvc, WinDefend, wscsvc | select name,status,starttype

如何修复错误:Microsoft Defender 威胁服务已停止。

尝试使用以下命令手动更新防病毒数据库定义:

"%ProgramFiles%Windows DefenderMpCmdRun.exe" -SignatureUpdate

如果数据库更新过程中出现错误,您可以在以下位置找到更多相关信息:%userprofile%AppDataLocalTempMpCmdRun.log文件。

例如,错误代码0x8024401B表明计算机无法连接到 Microsoft 更新服务器。

Search Started (MU/WU update) (Path:https://fe2cr.update.microsoft.com/v6/ )...
Update failed with hr: 0x8024401b

这通常意味着计算机处于无法访问互联网的隔离环境中,或者由于代理或防火墙规则而连接受到限制。

使用 Test-NetConnection 命令检查计算机与 Microsoft 更新服务器的连接。

tnc fe2cr.update.microsoft.com -port 443

就我而言,我发现 WinHTTP 代理设置的地址设置不正确。检查当前的 WinHTTP 代理设置。

netsh winhttp show proxy

重置系统代理设置(将使用直接访问):

netsh winhttp reset proxy

在某些情况下,如果当前数据库损坏,Defender 可能会停止接收更新。尝试重置防病毒定义数据库并执行在线更新。

"%ProgramFiles%Windows DefenderMpCmdRun.exe" -removedefinitions -all

执行数据库更新:

Update-MpSignature -Verbose

VERBOSE: Virus and spyware definitions update was completed successfully.

推荐阅读:如何阻止 Firefox Quantum 自动更新

如果您收到0x80070005(访问被拒绝)重置数据库时出错,必须暂时禁用防篡改保护Windows 安全 GUI 中的选项。

检查是否有通过组策略配置的任何 Windows Defender 防病毒设置。运行rsop.msc命令获取包含生成的 GPO 设置的报告。

通过 GPO 应用于计算机的任何 Defender 设置都将显示在“计算机配置”->“管理模板”->“Windows 组件”->“Microsoft Defender 防病毒”中。分析启用了哪些选项及其用途。默认情况下,不应设置任何内容。如有必要,请使用 gpedit.msc 编辑器编辑本地 GPO 或重置本地组策略设置。

Microsoft Defender 也是安装在 Windows Server 上的内置防病毒应用程序。

诊断问题时,在事件查看器中查看与防病毒相关的事件日志会很有帮助:应用程序和服务日志 -> Microsoft -> Windows -> Windows Defender -> 操作。例如,事件 ID 2002 表示防病毒更新成功。

在某些情况下,手动安装 Microsoft Defender 防病毒数据库可以解决更新问题。

  1. 点击此链接下载mpam-fe.exe包含适用于您的操作系统的 Microsoft Defender 防病毒更新的文件:https://www.microsoft.com/en-us/wdsi/defenderupdates
  2. 重置防御者设置:
    cd %ProgramFiles%Windows Defender
    MpCmdRun.exe -removedefinitions -all
  3. 运行mpam-fe.exe以管理员身份归档。
  4. 确保防病毒定义数据库是最新的:Get-MpComputerStatus | Select-Object AntivirusSignatureLastUpdated, AntivirusSignatureVersion