根据文件扩展名和文件夹位置配置和验证排除项

适用于:

平台

  • Windows

可以为适用于计划扫描按需扫描和始终启用的实时保护和监视的 Microsoft Defender 防病毒定义排除项。 通常,不需要应用排除项。 如果需要应用排除项,则可以从以下类型中进行选择:

重要

Microsoft Defender防病毒排除项适用于某些Microsoft Defender for Endpoint功能,例如攻击面减少规则。 某些Microsoft Defender防病毒排除项适用于某些 ASR 规则排除项。 请参阅攻击面减少规则参考 - Microsoft Defender防病毒排除项和 ASR 规则。 使用本文中所述的方法排除的文件仍可以触发终结点检测和响应 (EDR) 警报和其他检测。 若要广泛排除文件,请将它们添加到Microsoft Defender for Endpoint自定义指示器

开始之前

定义排除列表之前,请参阅有关定义 排除项的建议。

排除列表

若要从防病毒扫描Microsoft Defender排除某些文件,请修改排除列表。 Microsoft Defender防病毒包括许多基于已知操作系统行为和典型管理文件(例如企业管理、数据库管理和其他企业方案中使用的文件)的自动排除项。

注意

排除项也适用于 可能不需要的应用 (PUA) 检测 。 自动排除仅适用于Windows Server 2016及更高版本。 这些排除项在 Windows 安全中心 应用和 PowerShell 中不可见。

下表列出了基于文件扩展名和文件夹位置的排除项的一些示例。

排除 示例 排除列表
具有特定扩展名的任何文件 具有指定扩展名的所有文件,位于计算机上的任意位置。

有效语法: .testtest
扩展排除项
特定文件夹下的任何文件 文件夹下 c:\test\sample 的所有文件 文件和文件夹排除项
特定文件夹中的特定文件 仅文件c:\sample\sample.test 文件和文件夹排除项
特定过程 可执行文件 c:\test\process.exe 文件和文件夹排除项

排除列表的特征

  • 文件夹排除项适用于该文件夹下的所有文件和文件夹,除非子文件夹是重新分析点。 必须单独排除重新分析点子文件夹。
  • 如果未定义路径或文件夹,则文件扩展名适用于具有已定义扩展名的任何文件名。

有关基于文件扩展名和文件夹位置的排除项的重要说明

  • 使用星号 (*) 等通配符可更改排除规则的解释方式。 有关通配符工作原理的重要信息,请参阅在 文件名和文件夹路径或扩展排除列表中使用 通配符部分。

  • 不要排除映射的网络驱动器。 指定实际网络路径。

  • 重新分析点的文件夹在Microsoft Defender防病毒服务启动后创建,并且不包括添加到排除列表的文件夹。 重启 Windows 重启服务,以便将新的重新分析点识别为有效的排除目标。

  • 排除项适用于 计划扫描按需扫描实时保护,但不适用于所有 Defender for Endpoint 功能。 若要跨 Defender for Endpoint 定义排除项,请使用 自定义指示器

  • 默认情况下,具有管理员权限的用户 (对列表进行的本地更改(包括使用 PowerShell 和 WMI) 所做的更改)与组策略、Configuration Manager或Intune (定义的列表合并并部署) 。 发生冲突时,组策略列表优先。 此外,使用 组策略 进行的排除列表更改在 Windows 安全中心 应用中可见。

  • 若要允许本地更改替代托管部署设置, 请配置如何合并本地和全局定义的排除列表

基于文件夹名称或文件扩展名配置排除项列表

可以从多种方法中进行选择,以定义Microsoft Defender防病毒的排除项。

使用Intune配置文件名称、文件夹或文件扩展名排除项

另请参阅以下文章:

使用Configuration Manager配置文件名、文件夹或文件扩展名排除项

有关配置当前) 分支Microsoft Configuration Manager (的详细信息,请参阅如何创建和部署反恶意软件策略:排除设置

使用 组策略 配置文件夹或文件扩展名排除项

注意

如果指定文件的完全限定路径,则仅排除该文件。 如果在排除项中定义了文件夹,则会排除该文件夹下的所有文件和子目录。

  1. 在组策略管理计算机上,打开组策略管理控制台,右键单击要配置的组策略对象,然后选择“编辑”。

  2. “组策略管理”编辑器转到“计算机配置”,然后选择“管理模板”。

  3. 将树展开到 Windows 组件>Microsoft Defender防病毒>排除项。

  4. 打开 “路径排除项 ”设置进行编辑,并添加排除项。

    1. 将选项设置为 “已启用”。

    2. “选项” 部分下,选择“ 显示”。

    3. “值名称 ”列下,在其自己的行中指定每个文件夹。

    4. 如果要指定文件,请确保输入文件的完全限定路径,包括驱动器号、文件夹路径、文件名和扩展名。

    5. “值”列中输入 0

    6. 选择“确定”。

  5. 打开 “扩展排除项 ”设置进行编辑并添加排除项。

    1. 将选项设置为 “已启用”。

    2. “选项” 部分下,选择“ 显示”。

    3. “值名称” 列下,在自己的行上输入每个文件扩展名。

    4. “值”列中输入 0

    5. 选择“确定”。

使用 PowerShell cmdlet 配置文件名、文件夹或文件扩展名排除项

使用 PowerShell 根据扩展名、位置或文件名添加或删除文件的排除项,需要使用三个 cmdlet 和适当的排除列表参数的组合。 这些 cmdlet 都在 Defender 模块中。

cmdlet 的格式如下所示:

<cmdlet> -<exclusion list> "<item>"

下表列出了可在 PowerShell cmdlet 部分使用的 <cmdlet> cmdlet:

配置操作 PowerShell cmdlet
创建或覆盖列表 Set-MpPreference
添加到列表 Add-MpPreference
从列表中删除项 Remove-MpPreference

下表列出了可在 PowerShell cmdlet 部分使用 <exclusion list> 的值:

排除类型 PowerShell 参数
具有指定文件扩展名的所有文件 -ExclusionExtension
文件夹下的所有文件 (包括子目录中的文件) 或特定文件 -ExclusionPath

重要

如果已使用 或 Add-MpPreference创建了列表,Set-MpPreference则再次使用 Set-MpPreference cmdlet 覆盖现有列表。

例如,以下代码片段会导致Microsoft Defender防病毒扫描排除扩展名为 .test 的任何文件:

Add-MpPreference -ExclusionExtension ".test"

使用 Windows Management Instrumentation (WMI) 配置文件名、文件夹或文件扩展名排除项

对以下属性使用 MSFT_MpPreference 类的 Set、Add 和 Remove 方法

ExclusionExtension
ExclusionPath

使用 SetAddRemove 类似于 PowerShell 中的对应项: Set-MpPreferenceAdd-MpPreferenceRemove-MpPreference

提示

有关详细信息,请参阅 Windows Defender WMIv2 API

使用 Windows 安全中心 应用来配置文件名、文件夹或文件扩展名排除项

有关说明,请参阅在 Windows 安全中心 应用中添加排除项。

在文件名和文件夹路径或扩展名排除列表中使用通配符

在文件名或文件夹路径排除列表中定义项目时,可以使用星号 *、问号 ?或环境变量 (如 %ALLUSERSPROFILE%) 作为通配符。 可以将 和 和 ? 环境变量混合和匹配*到单个排除项中。 这些通配符的解释方式与其他应用和语言中的通常用法不同。 请务必阅读此部分以了解其特定限制。

重要

这些通配符存在一些关键限制和使用方案:

  • 环境变量的使用仅限于计算机变量以及那些适用于作为 NT AUTHORITY\SYSTEM 帐户运行的进程的变量。
  • 每个条目最多只能使用六个通配符。
  • 不能使用通配符来代替驱动器号。
  • 文件夹排除中的星号 * 对于单个文件夹已到位。 使用 的 \*\ 多个实例来指示具有未指定名称的多个嵌套文件夹。

下表介绍了如何使用通配符,并提供了一些示例。

通配符 示例
* (星号)

文件名和文件扩展名包含中,星号将替换任意数量的字符,并且仅适用于参数中定义的最后一个文件夹中的文件。

文件夹排除项中,星号将替换单个文件夹。 使用多个 * 和文件夹斜杠 \ 来指示多个嵌套文件夹。 匹配通配符和命名文件夹的数量后,还包括所有子文件夹。
C:\MyData\*.txt 包括 C:\MyData\notes.txt

C:\somepath\*\Data 包括 中 C:\somepath\Archives\Data 及其子文件夹中的任何文件,以及 C:\somepath\Authorized\Data 及其子文件夹

C:\Serv\*\*\Backup 包括 中 C:\Serv\Primary\Denied\Backup 及其子文件夹中的任何文件,以及 C:\Serv\Secondary\Allowed\Backup 及其子文件夹
? (问号)

文件名和文件扩展名包含中,问号将替换单个字符,并且仅适用于参数中定义的最后一个文件夹中的文件。

文件夹排除项中,问号替换文件夹名称中的单个字符。 匹配通配符和命名文件夹的数量后,还包括所有子文件夹。
C:\MyData\my?.zip 包括 C:\MyData\my1.zip

C:\somepath\?\Data 包括 中的任何 C:\somepath\P\Data 文件及其子文件夹中

C:\somepath\test0?\Data 将包含 中 C:\somepath\test01\Data 及其子文件夹中的任何文件
环境变量

计算排除项时,定义的变量将填充为路径。
%ALLUSERSPROFILE%\CustomLogFiles 将包括 C:\ProgramData\CustomLogFiles\Folder1\file1.txt
混合和匹配

环境变量 *? 可以合并为单个排除项
%PROGRAMFILES%\Contoso*\v?\bin\contoso.exe 将包括 c:\Program Files\Contoso Labs\v1\bin\contoso.exe

重要

如果将文件排除参数与文件夹排除参数混合使用,规则将停止在匹配文件夹中的文件参数匹配,并且不会在任何子文件夹中查找文件匹配项。 例如,可以通过使用规则参数 c:\data\*\marked\date*排除文件夹中c:\data\final\markedc:\data\review\marked以“date”开头的所有文件。 此参数与 或 c:\data\review\marked下的c:\data\final\marked子文件夹中的任何文件都不匹配。

系统环境变量

下表列出了并描述了系统帐户环境变量。

此系统环境变量... 重定向到此
%APPDATA% C:\Windows\system32\config\systemprofile\Appdata\Roaming
%APPDATA%\Microsoft\Internet Explorer\Quick Launch C:\Windows\System32\config\systemprofile\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch
%APPDATA%\Microsoft\Windows\Start Menu C:\Windows\System32\config\systemprofile\AppData\Roaming\Microsoft\Windows\Start Menu
%APPDATA%\Microsoft\Windows\Start Menu\Programs C:\Windows\System32\config\systemprofile\AppData\Roaming\Microsoft\Windows\Start Menu\Programs
%LOCALAPPDATA% C:\WINDOWS\system32\config\systemprofile\AppData\Local
%ProgramData% C:\ProgramData
%ProgramFiles% C:\Program Files
%ProgramFiles%\Common Files C:\Program Files\Common Files
%ProgramFiles%\Windows Sidebar\Gadgets C:\Program Files\Windows Sidebar\Gadgets
%ProgramFiles%\Common Files C:\Program Files\Common Files
%ProgramFiles(x86)% C:\Program Files (x86)
%ProgramFiles(x86)%\Common Files C:\Program Files (x86)\Common Files
%SystemDrive% C:
%SystemDrive%\Program Files C:\Program Files
%SystemDrive%\Program Files (x86) C:\Program Files (x86)
%SystemDrive%\Users C:\Users
%SystemDrive%\Users\Public C:\Users\Public
%SystemRoot% C:\Windows
%windir% C:\Windows
%windir%\Fonts C:\Windows\Fonts
%windir%\Resources C:\Windows\Resources
%windir%\resources\0409 C:\Windows\resources\0409
%windir%\system32 C:\Windows\System32
%ALLUSERSPROFILE% C:\ProgramData
%ALLUSERSPROFILE%\Application Data C:\ProgramData\Application Data
%ALLUSERSPROFILE%\Documents C:\ProgramData\Documents
%ALLUSERSPROFILE%\Documents\My Music\Sample Music C:\ProgramData\Documents\My Music\Sample Music
%ALLUSERSPROFILE%\Documents\My Music C:\ProgramData\Documents\My Music
%ALLUSERSPROFILE%\Documents\My Pictures C:\ProgramData\Documents\My Pictures
%ALLUSERSPROFILE%\Documents\My Pictures\Sample Pictures C:\ProgramData\Documents\My Pictures\Sample Pictures
%ALLUSERSPROFILE%\Documents\My Videos C:\ProgramData\Documents\My Videos
%ALLUSERSPROFILE%\Microsoft\Windows\DeviceMetadataStore C:\ProgramData\Microsoft\Windows\DeviceMetadataStore
%ALLUSERSPROFILE%\Microsoft\Windows\GameExplorer C:\ProgramData\Microsoft\Windows\GameExplorer
%ALLUSERSPROFILE%\Microsoft\Windows\Ringtones C:\ProgramData\Microsoft\Windows\Ringtones
%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu C:\ProgramData\Microsoft\Windows\Start Menu
%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs C:\ProgramData\Microsoft\Windows\Start Menu\Programs
%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\Administrative Tools C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Administrative Tools
%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\StartUp C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp
%ALLUSERSPROFILE%\Microsoft\Windows\Templates C:\ProgramData\Microsoft\Windows\Templates
%ALLUSERSPROFILE%\Start Menu C:\ProgramData\Start Menu
%ALLUSERSPROFILE%\Start Menu\Programs C:\ProgramData\Start Menu\Programs
%ALLUSERSPROFILE%\Start Menu\Programs\Administrative Tools C:\ProgramData\Start Menu\Programs\Administrative Tools
%ALLUSERSPROFILE%\Templates C:\ProgramData\Templates
%LOCALAPPDATA%\Microsoft\Windows\ConnectedSearch\Templates C:\Windows\System32\config\systemprofile\AppData\Local\Microsoft\Windows\ConnectedSearch\Templates
%LOCALAPPDATA%\Microsoft\Windows\History C:\Windows\System32\config\systemprofile\AppData\Local\Microsoft\Windows\History
%PUBLIC% C:\Users\Public
%PUBLIC%\AccountPictures C:\Users\Public\AccountPictures
%PUBLIC%\Desktop C:\Users\Public\Desktop
%PUBLIC%\Documents C:\Users\Public\Documents
%PUBLIC%\Downloads C:\Users\Public\Downloads
%PUBLIC%\Music\Sample Music C:\Users\Public\Music\Sample Music
%PUBLIC%\Music\Sample Playlists C:\Users\Public\Music\Sample Playlists
%PUBLIC%\Pictures\Sample Pictures C:\Users\Public\Pictures\Sample Pictures
%PUBLIC%\RecordedTV.library-ms C:\Users\Public\RecordedTV.library-ms
%PUBLIC%\Videos C:\Users\Public\Videos
%PUBLIC%\Videos\Sample Videos C:\Users\Public\Videos\Sample Videos
%USERPROFILE% C:\Windows\system32\config\systemprofile
%USERPROFILE%\AppData\Local C:\Windows\system32\config\systemprofile\AppData\Local
%USERPROFILE%\AppData\LocalLow C:\Windows\system32\config\systemprofile\AppData\LocalLow
%USERPROFILE%\AppData\Roaming C:\Windows\system32\config\systemprofile\AppData\Roaming

查看排除项列表

可以使用以下方法之一检索排除列表中的项:

重要

使用 组策略 进行的排除列表更改将显示在Windows 安全中心应用列表中。 Windows 安全中心应用中所做的更改不会显示在组策略列表中。

如果使用 PowerShell,可以通过以下两种方式检索列表:

  • 检索所有Microsoft Defender防病毒首选项的状态。 每个列表显示在单独的行上,但每个列表中的项合并到同一行中。
  • 将所有首选项的状态写入变量,并使用该变量仅调用你感兴趣的特定列表。 每次使用 Add-MpPreference 都会写入新行。

使用 MpCmdRun 验证排除列表

若要使用专用命令行工具 mpcmdrun.exe检查排除项,请使用以下命令:

Start, CMD (Run as admin)
cd "%programdata%\microsoft\windows defender\platform"
cd 4.18.2111-5.0 (Where 4.18.2111-5.0 is this month's Microsoft Defender Antivirus "Platform Update".)
MpCmdRun.exe -CheckExclusion -path <path>

注意

使用 MpCmdRun 检查排除项需要Microsoft Defender防病毒版本 4.18.2111-5.0 (于 2021 年 12 月发布) 或更高版本。

使用 PowerShell 查看排除项列表以及所有其他Microsoft Defender防病毒首选项

使用以下 cmdlet:

Get-MpPreference

在以下示例中,突出显示了列表中包含的 ExclusionExtension 项:

Get-MpPreference 的 PowerShell 输出

有关详细信息,请参阅使用 PowerShell cmdlet 配置并运行 Microsoft Defender 防病毒软件Defender for Cloud cmdlet

使用 PowerShell 检索特定的排除列表

使用以下代码片段 (输入每行作为单独的命令) :将 WDAVprefs 替换为要命名变量的任何标签:

$WDAVprefs = Get-MpPreference
$WDAVprefs.ExclusionExtension
$WDAVprefs.ExclusionPath

在以下示例中,每次使用 Add-MpPreference cmdlet 时,该列表被拆分为新行:

PowerShell 输出仅显示排除列表中的条目

有关详细信息,请参阅使用 PowerShell cmdlet 配置并运行 Microsoft Defender 防病毒软件Defender for Cloud cmdlet

使用 EICAR 测试文件验证排除列表

可以通过将 PowerShell 与 Invoke-WebRequest cmdlet 或 .NET WebClient 类结合使用来下载测试文件来验证排除列表是否正常工作。

在以下 PowerShell 代码片段中,将 替换为 test.txt 符合排除规则的文件。 例如,如果要排除扩展, .testing 请将 替换为 test.txttest.testing。 如果要测试路径,请确保在该路径中运行 cmdlet。

Invoke-WebRequest "https://secure.eicar.org/eicar.com.txt" -OutFile "test.txt"

如果Microsoft Defender防病毒报告恶意软件,则规则不起作用。 如果没有恶意软件报告,并且下载的文件存在,则排除有效。 可以打开该文件以确认内容与 EICAR 测试文件网站上所述的内容相同。

还可以使用以下 PowerShell 代码,该代码调用 .NET WebClient 类来下载测试文件 - 与 cmdlet 一样 Invoke-WebRequest ;将 替换为 c:\test.txt 符合要验证的规则的文件:

$client = new-object System.Net.WebClient
$client.DownloadFile("http://www.eicar.org/download/eicar.com.txt","c:\test.txt")

如果没有 Internet 访问权限,可以使用以下 PowerShell 命令将 EICAR 字符串写入新文本文件,从而创建自己的 EICAR 测试文件:

[io.file]::WriteAllText("test.txt",'X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*')

还可以将字符串复制到空白文本文件中,并尝试使用文件名或尝试排除的文件夹中保存该字符串。

另请参阅

提示

想要了解更多信息? Engage技术社区中的Microsoft安全社区:Microsoft Defender for Endpoint技术社区