Microsoft Defender 防病毒程序是 Windows 中的内置反恶意软件程序。 Microsoft Defender(以前称为 Windows Defender)默认安装在所有 Windows 操作系统上,以防范病毒、蠕虫、特洛伊木马和其他类型的恶意软件。 Microsoft Defender 的工作效率足够高,并且系统要求较低。它可以从 Microsoft 网站或内部 WSUS 服务器在线更新。您不仅可以在家庭计算机上使用 Windows Defender,还可以在 SMB 和企业网络上使用。在本文中,我们将详细了解如何启用/禁用 Microsoft Defender 以及如何使用 PowerShell 管理不同的设置。
Defender的主要优点是它易于使用,它已经预装在Windows 10和11中,默认启用,并且几乎不需要手动配置。
在当前版本的 Windows 10 和 11 上,您应该使用现代“设置”面板中的 Windows 安全应用程序来管理 Microsoft Defender(您可以通过“设置”>“更新和安全”>“Windows 安全”或使用快速访问 URI 命令 ms-settings 打开它:Windows Defender的)。
如果缺少 Windows 安全应用程序,请检查您的计算机上是否安装了 Microsoft.SecHealthU UWP 应用程序:
Get-AppxPackage Microsoft.SecHealthUI -AllUsers|select Name, Status
提示: Microsoft Defender 目前是唯一的 Windows 桌面操作系统的一部分,并且在当前版本的 Windows Server 中不可用。但是,在最新的 Windows Server 2016/2019/2022 中,可以使用该命令将 Windows Defender 作为附加服务器功能安装。
Install-WindowsFeature-Name Windows-Server-Antimalware
在大多数情况下,Microsoft Defender 在默认设置下运行良好,但有时用户需要更改其行为。
您可以使用内置的 Defender 模块通过 PowerShell 管理 Microsoft Defender 设置。该模块包含 11 个 cmdlet。要查看 Defender 模块中包含的 cmdlet 列表,请使用以下命令:
Get-Command -Module Defender
Add-MpPreference — 用于更改 Microsoft Defender 设置;
Get-MpComputerStatus — 允许您获取计算机上防病毒软件的状态;
Get-MpPreference — 用于获取 Microsoft Defender 扫描和更新选项;
Get-MpThreat — 查看计算机上检测到的威胁的历史记录;
Get-MpThreatCatalog — 允许您从定义目录获取已知威胁;
Get-MpThreatDetection — 显示计算机上检测到的活动和最近威胁的列表;
Remove-MpPreference — 允许您删除 Microsoft Defender 设置或例外;
Remove-MpThreat — 允许您从计算机中删除活动威胁;
Set-MpPreference — 用于更改扫描和更新选项;
Start-MpScan — 运行计算机扫描;
Update-MpSignature — 反病毒定义数据库更新;
Start-MpWDOScan — 运行 Microsoft Defender 离线扫描;
要获取有关 Defender 模块的特定 cmdlet 的完整帮助,请使用 Get-Help 命令:
Get-Help Start-MpScan –Full
如果您只需要 PowerShell 命令的示例,请运行:
Get-Help Add-MpPreference -Examples
在使用 PowerShell cmdlet 控制 Microsoft Defender 之前,最好检查该服务是否正在运行。您可以使用 PowerShell 检查 Microsoft Defender 防病毒服务 (WinDefend)、Windows 安全服务 (SecurityHealthService) 和安全中心 (wscsvc) 的服务状态:
Get-Service Windefend, SecurityHealthService, wscsvc| Select Name,DisplayName, Status
Get-MpComputerStatus 允许您显示 Microsoft Defender 的当前状态:启用的选项、病毒定义日期和版本、上次扫描时间等。
要快速检查 Windows Defender 是否正在您的计算机上运行并找出上次防病毒定义更新的日期,请运行以下 PowerShell 命令:
Get-MpComputerStatus | Select-Object -Property Antivirusenabled,AMServiceEnabled,AntispywareEnabled,BehaviorMonitorEnabled,IoavProtectionEnabled,NISEnabled,OnAccessProtectionEnabled,RealTimeProtectionEnabled,IsTamperProtected,AntivirusSignatureLastUpdated
Antivirusenabled : True AMServiceEnabled : True AntispywareEnabled : True BehaviorMonitorEnabled : True IoavProtectionEnabled : True NISEnabled : True OnAccessProtectionEnabled : True RealTimeProtectionEnabled : True IsTamperProtected : True AntivirusSignatureLastUpdated : 4/20/2023 4:32:02 AM
如果您的计算机上安装了第三方认证的防病毒程序,Microsoft Defender 将自动禁用。
有时您可能需要暂时暂停 Microsoft Defender 保护。在大多数情况下,禁用实时保护模块就足够了。
您可以使用以下 PowerShell 命令禁用 Microsoft Defender 实时保护:
Set-MpPreference -DisableRealtimeMonitoring $true
禁用基于云的保护:
Set-MpPreference -MAPSReporting 0
这会暂停 Windows 中的防病毒保护一段时间(直到下次重新启动)。
但是,此命令不适用于 Windows 10 或 11(22H2、22H2、21H2)的现代版本。现代 Microsoft Defender 具有新的安全功能,可阻止通过 PowerShell、注册表设置和/或组策略选项对 Windows Defender 安全功能进行更改。
默认情况下,Windows 11 和 10 中启用篡改保护。您可以使用 PowerShell 检查此选项状态:
Get-MpComputerStatus | select IsTamperProtected
您只能从 Windows 安全 GUI 应用程序禁用篡改保护。转到“病毒和威胁防护”> 单击“管理设置”> 向下滚动到“篡改防护”并将滑块移动到“关闭”位置。
在 UAC 提示符处确认此操作。请注意,出现了以下消息:
防篡改保护已关闭。您的设备可能容易受到攻击。
现在您可以使用 PowerShell 禁用 Microsoft Defender 实时保护:
Set-MpPreference -DisableRealtimeMonitoring $true
要恢复实时保护,请运行:
Set-MpPreference -DisableRealtimeMonitoring $false
开启云提供的保护:
Set-MpPreference -MAPSReporting 2
如果要完全禁用 Microsoft Defender 中的防篡改功能,则需要更改注册表项 HKLMSOFTWAREMicrosoftWindows DefenderFeatures 下的以下项目:
防篡改 = 4
篡改保护源 = 2
感知开发模式 = 0
您需要使用 NT ServiceTrustedInstaller 权限进行这些更改。
您可以使用 PowerShell 在 Windows Server 201620192022 上卸载 Windows Defender。首先,停止实时保护并在提升的 PowerShell 会话中运行以下命令:
Uninstall-WindowsFeature -Name Windows-Defender
或者使用DISM工具:
Dism /online /Disable-Feature /FeatureName:Windows-Defender /Remove /NoRestart /quiet
您无法从运行桌面 Windows 版本的计算机上完全卸载 Microsoft Defender 功能。但是,您可以尝试使用DisableAntiSpyware = 1注册表项或使用本地组策略编辑器来完全禁用计算机上的Windows Defender。
New-ItemProperty -Path “HKLM:SOFTWAREPoliciesMicrosoftWindows Defender” -Name DisableAntiSpyware -Value 1 -PropertyType DWORD -Force
Or:
Run the gpedit.msc console;
转到以下 GPO 部分:计算机配置 > 管理模板 > Windows 组件 > Microsoft Defender 防病毒;
在右侧窗格中找到名为“关闭Windows Defender Antivirus”的参数;
将其值更改为启用;
以同样的方式禁用实时保护部分中的以下组策略设置:关闭实时保护=禁用;
要应用新设置,请使用 gpupdate 命令更新计算机上的本地组策略设置:
gpupdate /force
然而,这在现代 Windows 10 和 11 版本中不起作用。完全禁用 Microsoft Defender 的唯一方法是以安全模式重新启动计算机并阻止 Defender 服务启动。
要以安全模式重新启动计算机,请运行以下命令:
bcdedit /set {current} safeboot minimal
reboot /r
启动进入安全模式后,打开注册表编辑器(regedit.exe);
然后依次打开以下注册表项,并将每一行中 Start 注册表项的值更改为 4:
注册表项 范围 默认值新值(禁用防守者)HKLMSYSTEMCurrentControlSetServicesSense 开始34HKLMSYSTEMCurrentControlSetServicesWdBoot 开始04HKLMSYSTEMCurrentControlSetServicesWdFilter 开始04HKLMSYSTEMCurrentControlSetServicesWdNisDrv 开始34HKLMSYSTEMCurrentControlSetServicesWdNisSvc 开始34HKLMSYSTEMCurrentControlSetServicesWinDefend 开始24
要取消启动进入安全模式,请运行以下命令:
bcdedit /deletevalue {current} safeboot
然后重新启动 Windows。使用你的帐户登录 Windows 并检查 Microsoft Defender 现已禁用。
您可以使用 PowerShell 更改 Microsoft Defender 防病毒设置。要显示当前的 Windows Defender 设置,您可以使用 cmdlet Get-MpPreference。要更改设置,请使用 Set-MpPreference。
在 Windows Defender 设置中,IPS、可移动磁盘检查、电子邮件和其他一些检查默认处于禁用状态。例如,您需要启用可移动驱动器的扫描。让我们使用以下命令获取当前设置:
Get-MpPreference | fl disable*
在 Windows 11 中,默认情况下禁用以下 Windows Defender 功能:
DisableCatchupFullScan.
DisableCatchupQuickScan.
DisableCpuThrottleOnIdleScans.
DisableEmailScanning.
DisableRemovableDriveScanning.
DisableRestorePoint.
DisableScanningMappedNetworkDrivesForFullScan.
EnableFileHashComputation.
EnableFullScanOnBatteryPower.
EnableLowCpuPriority.
如您所见,可移动驱动器扫描已禁用 (DisableRemovableDriveScanning = True)。使用以下命令将其打开:
Set-MpPreference -DisableRemovableDriveScanning $false
此外,您还可以禁用某些类型的 Windows Defender 扫描。默认情况下,Windows Defender 扫描存档文件(RAR、ZIP、CAB),这些文件可能包含恶意文件。您可以使用以下命令禁用存档文件扫描:
Set-MpPreference -DisableArchiveScanning $True
确保应用新设置:
Get-MpPreference|select DisableArchiveScanning
然后,Windows Defender 将停止实时扫描任何打开的存档文件。
此外,要更改或删除防病毒排除设置,您可以使用 Add-MpPreference 和 Remove-MpPreference cmdlet。例如,让我们将一些文件夹路径添加到防病毒排除项中:
Add-MpPreference -ExclusionPath C:Video, C:install
显示 Windows Defender 的路径例外列表:
Get-MpPreference | fl excl*
要排除某些进程的防病毒扫描,请运行以下命令:
Set-MpPreference -ExclusionProcess "word.exe", "vmwp.exe"
要删除特定文件夹的例外:
Remove-MpPreference -ExclusionPath C:install
Windows Defender 具有隐藏功能,可以防止不需要的程序(潜在不需要的程序 – PUP、潜在不需要的应用程序 – PUA)。默认情况下,它只能在 Windows 10/11 企业版中访问,但借助以下命令,您可以在任何 Windows 10 版本中启用 PUP/PUA 保护:
Set-MpPreference -PUAProtection 1
打开保护后,当您尝试在计算机上启动或安装可能不需要的程序时,您将在 Windows 10 中收到来自 Defender 的以下通知。
Windows Defender 采取了行动
您的设置导致 Windows Defender 防病毒软件阻止可能在您的设备上执行不需要的操作的应用程序。
您可以使用 Update-MpSignature 命令更新计算机上的防病毒签名数据库。
默认情况下,Windows Defender 从在线 Microsoft 更新服务器接收更新。您可以使用 UpdateSource 参数指定要从何处接收病毒定义更新。
可以使用以下病毒定义源:
微软更新服务器;
MMPC 微软恶意软件防护中心;
SMB 文件共享;
InternalDefinitionUpdateServer — 内部 WSUS 服务器。
要从 Windows 文件服务器上的网络共享文件夹更新防病毒软件,您需要下载必要的定义更新文件并将它们放入共享网络文件夹中。然后,您必须指定应从文件共享源更新 Windows Defender(使用 UNC 路径):
Set-MpPreference -SignatureDefinitionUpdateFileSharesSources \DESKTOP-V20E3POUpdates
要手动运行病毒更新和恶意软件定义:
Update-MpSignature -UpdateSource FileShares Update-MpSignature
在某些情况下,收到不正确的更新后,Microsoft Defender 可能无法正常工作。在这种情况下,建议重置当前线程定义数据库并从源重新加载它们:
"%PROGRAMFILES%Windows DefenderMPCMDRUN.exe" -RemoveDefinitions -All "%PROGRAMFILES%Windows DefenderMPCMDRUN.exe" –SignatureUpdate
要对计算机执行防病毒扫描,请使用 Start-MpScan cmdlet。使用 ScanType 参数,您可以选择三种扫描模式之一:
FullScan — 对计算机上的所有文件以及系统注册表和当前运行的应用程序执行扫描;
QuickScan — 仅分析最有可能被恶意软件感染的区域(注册表、活动 RAM、系统文件夹);
CustomScan — 用户选择要扫描的文件夹和驱动器。
例如,运行自定义扫描来检查系统文件夹“C:Program Files”:
Start-MpScan -ScanType CustomScan -ScanPath ”C:Program Files”
您可以使用以下命令通过 Microsoft Defender 执行完整的计算机扫描:
Start-MpScan -ScanType FullScan
或快速威胁扫描:
Start-MpScan -ScanType QuickScan
要删除计算机上的所有活动威胁,请使用以下命令:
Remove-MpThreat
所有 Defender 模块 cmdlet 都可以在本地和远程计算机上执行。要连接到远程计算机,您需要使用 CimSession 选项。例如,要从主机名为 lnd_wks21 的远程计算机获取上次扫描的日期,请运行以下命令(必须启用 WinRM):
$session = NewCimSession -ComputerName lnd_wks21 Get-MpComputerStatus -CimSession $session | fl fullscan*
您可以使用 Start-MpWDOScan cmdlet 通过 Windows Defender 执行脱机扫描。
执行此命令后,您的操作系统将自动重新启动。 Windows Defender 将在特殊的启动环境中启动,并在 Windows 启动之前扫描您的设备是否存在威胁。
您可以使用 Windows 安全应用程序重置所有 Windows Defender 设置。
按“开始”按钮并输入:Windows 安全;
选择应用程序设置;
向下滚动到“重置”按钮并单击它;
将出现以下警告:“这将永久删除该设备上的应用程序数据,包括您的首选项和登录详细信息”。按重置按钮确认。