为进程打开的文件配置排除项

适用于:

平台

  • Windows

可以从防病毒扫描中排除由特定进程打开的文件Microsoft Defender。 请注意,这些类型的排除项适用于进程打开的文件,而不是进程本身。 若要排除进程,请添加文件排除 (请参阅 基于文件扩展名和文件夹位置) 配置和验证排除 项。

在定义排除列表之前,请参阅有关排除项的要点并查看管理Microsoft Defender for Endpoint和Microsoft Defender防病毒的排除项中的信息。

本文介绍如何配置排除列表。

进程排除示例

排除 示例
计算机上由任何进程打开且具有特定文件名的任何文件 指定 test.exe 将排除打开的文件:

c:\sample\test.exe

d:\internal\files\test.exe

计算机上由特定文件夹下的任何进程打开的任何文件 指定 c:\test\sample\* 将排除打开的文件:

c:\test\sample\test.exe

c:\test\sample\test2.exe

c:\test\sample\utility.exe

计算机上由特定文件夹中的特定进程打开的任何文件 指定 c:\test\process.exe 将排除仅打开的文件 c:\test\process.exe

将进程添加到进程排除列表时,无论文件位于何处,Microsoft Defender防病毒都不会扫描该进程打开的文件。 但是,除非进程本身也已添加到 文件排除列表中,否则将对其进行扫描。

排除项仅适用于 始终启用的实时保护和监视。 它们不适用于计划扫描或按需扫描。

对排除列表组策略所做的更改将显示在Windows 安全中心 应用中的列表中。 但是,Windows 安全中心应用中所做的更改不会显示在组策略列表中。

可以使用 Windows 安全中心 应用在 组策略、Microsoft Configuration Manager、Microsoft Intune 中添加、删除和查看排除项的列表,并且可以使用通配符进一步自定义列表。

还可以使用 PowerShell cmdlet 和 WMI 配置排除列表,包括查看列表。

默认情况下,具有管理员权限的用户 (对列表进行的本地更改;使用 PowerShell 和 WMI) 所做的更改将与 (定义的列表合并,并通过组策略、Configuration Manager或Intune部署) 。 如果存在冲突,则组策略列表优先。

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

注意

网络保护和攻击面减少规则会受到所有平台上的进程排除的直接影响,这意味着任何 OS (Windows、MacOS、Linux) 的进程排除将导致网络保护或 ASR 无法检查流量或强制执行该特定进程的规则。

进程排除的图像名称与完整路径

可以设置两种不同类型的进程排除项。 进程可以按映像名称或完整路径排除。 映像名称只是进程的文件名,没有路径。

例如,假设从此进程MyProcess.exe的完整路径运行的进程为 C:\MyFolder\MyProcess.exe ,并且映像名称为 MyProcess.exeC:\MyFolder\

映像名称排除范围要广泛得多 - 对 的 MyProcess.exe 排除将排除具有此映像名称的任何进程,而不管其运行路径如何。 因此,例如,如果进程 MyProcess.exe 按映像名称排除,则如果进程从 C:\MyOtherFolder、从可移动媒体等中运行,则也会排除该进程。 因此,建议尽可能使用完整路径。

在进程排除列表中使用通配符

在进程排除列表中使用通配符不同于在其他排除列表中使用通配符。 将进程排除定义为仅映像名称时,不允许使用通配符。 但是,如果使用完整路径,则支持通配符,通配符行为的行为如文件和文件夹排除中所述

在进程排除列表中定义项时,还支持使用环境变量 ((例如 %ALLUSERSPROFILE%) )作为通配符。 文件和文件夹排除项中介绍了受支持的环境变量的详细信息和完整列表。

下表介绍了在提供路径时,如何在进程排除列表中使用这些通配符:

通配符 示例用法 示例匹配项
* (星号)

替换任意数量的字符。

C:\MyFolder\* C:\MyFolder\MyProcess.exe 打开的任何文件 C:\MyFolder\AnotherProcess.exe
C:\*\*\MyProcess.exe C:\MyFolder1\MyFolder2\MyProcess.exe 打开的任何文件 C:\MyFolder3\MyFolder4\MyProcess.exe
C:\*\MyFolder\My*.exe C:\MyOtherFolder\MyFolder\MyProcess.exe 打开的任何文件 C:\AnotherFolder\MyFolder\MyOtherProcess.exe
“?” (问号)

替换一个字符。

C:\MyFolder\MyProcess??.exe C:\MyFolder\MyProcess42.exeC:\MyFolder\MyProcessAA.exe 打开的任何文件 C:\MyFolder\MyProcessF5.exe
环境变量 %ALLUSERSPROFILE%\MyFolder\MyProcess.exe 打开的任何文件 C:\ProgramData\MyFolder\MyProcess.exe

上下文进程排除

请注意,进程排除也可以通过 上下文排除 来定义,例如,允许仅当特定进程打开特定文件时才排除它。

为指定进程打开的文件配置排除项列表

使用Microsoft Intune从扫描中排除指定进程打开的文件

有关详细信息,请参阅在 Microsoft Intune 中配置设备限制设置Microsoft Defender Intune 中Windows 10的防病毒设备限制设置

使用Microsoft Configuration Manager从扫描中排除指定进程打开的文件

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

使用组策略从扫描中排除已由指定进程打开的文件

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

  2. “组策略管理”编辑器,转到“计算机配置”,并单击“管理模板”。

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

  4. 双击“ 进程排除项 ”并添加排除项:

    1. 将选项设置为 “已启用”。
    2. “选项” 部分下,单击“ 显示...”
    3. “值名称” 列下,在各自的行上输入每个进程。 有关不同类型的进程排除,请参阅示例表。 在所有进程的“值”列中输入 0
  5. 单击“确定”

使用 PowerShell cmdlet 从扫描中排除指定进程打开的文件

使用 PowerShell 添加或删除进程打开的文件的排除项需要结合使用三个 cmdlet 和 -ExclusionProcess 参数。 这些 cmdlet 都在 Defender 模块中。

cmdlet 的格式为:

<cmdlet> -ExclusionProcess "<item>"

允许将以下内容用作 <cmdlet>:

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

重要

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

例如,以下代码片段会导致Microsoft Defender防病毒扫描排除指定进程打开的任何文件:

Add-MpPreference -ExclusionProcess "c:\internal\test.exe"

有关如何将 PowerShell 与 Microsoft Defender 防病毒配合使用的详细信息,请参阅使用 PowerShell cmdlet 管理防病毒和 Microsoft Defender 防病毒 cmdlet

使用 Windows 管理指令 (WMI) 从扫描中排除指定进程打开的文件

对以下属性使用 MSFT_MpPreference 类的 SetAddRemove 方法

ExclusionProcess

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

有关详细信息和允许的参数,请参阅 Windows Defender WMIv2 API

使用 Windows 安全中心 应用从扫描中排除指定进程打开的文件

按照在 Windows 安全中心 应用中添加排除项中的说明进行操作。

查看排除项列表

可以使用 MpCmdRun、PowerShell、Microsoft Configuration ManagerIntuneWindows 安全中心 应用检索排除列表中的项。

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

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

使用 MpCmdRun 验证排除列表

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

MpCmdRun.exe -CheckExclusion -path <path>

注意

使用 MpCmdRun 检查排除项需要Microsoft Defender 2018 年 12 月 (发布的防病毒 CAMP 版本 4.18.1812.3) 或更高版本。

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

使用以下 cmdlet:

Get-MpPreference

有关如何将 PowerShell 与 Microsoft Defender 防病毒配合使用的详细信息,请参阅使用 PowerShell cmdlet 配置和运行Microsoft Defender防病毒Microsoft Defender防病毒 cmdlet

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

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

$WDAVprefs = Get-MpPreference
$WDAVprefs.ExclusionProcess

有关如何将 PowerShell 与 Microsoft Defender 防病毒配合使用的详细信息,请参阅使用 PowerShell cmdlet 配置和运行 Microsoft Defender 防病毒Microsoft Defender 防病毒 cmdlet

提示

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