設定處理程序開啟之檔案的排除項目

你可以排除特定程序開啟的檔案,避免被 Microsoft Defender 防毒軟體掃描。 這類排除是針對由程序開啟的檔案,而非程序本身。 要排除某個程序,請新增檔案排除 (參見 「根據檔案副檔名和資料夾位置) 配置與驗證排除事項 」。

在定義排除清單之前,請先參閱有關排除項目的重要事項,並檢閱管理 適用於端點的 Microsoft Defender 和 Microsoft Defender 防毒軟體的排除項目中的資訊。

本節說明如何設定指定程序開啟檔案的程序排除功能。

必要條件

支援的作業系統

本文所述的程序排除功能在以下作業系統上獲得支援:

  • Windows

許可

使用 PowerShell 或 WMI 設定及檢視處理程序排除時,需要使用提升權限的 PowerShell 視窗(可透過選取 以系統管理員身分執行 來開啟)。

流程排除範例

下表展示了常見的製程排除模式及其對應點。

排除 範例
任何由任何程序以特定檔案名稱開啟的檔案 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 安全性應用程式所做的變更不會顯示在群組原則清單中。

你可以在群組原則、Microsoft Configuration Manager、Microsoft Intune 以及 Windows 安全性應用程式中新增、移除並檢視清單的排除事項,並且可以使用通達字元進一步自訂清單。

你也可以使用 PowerShell 指令檔和 WMI 來設定排除清單,包括檢視你的清單。

根據預設,對清單所做的本機變更(由具有系統管理員權限的使用者所做的變更,以及使用 PowerShell 和 WMI 所做的變更)會與由群組原則、設定管理員 或 Intune 所定義(並部署)的清單合併。 如果有衝突,群組原則清單會優先執行。

你可以 設定如何合併本地與全域定義的排除清單 ,讓本地變更能覆蓋管理部署設定。

附註

網路保護攻擊面縮小 (ASR) 規則在所有平台上都會直接受到處理程序排除的影響。 在任何作業系統(Windows、macOS 或 Linux)上排除程序,意味著網路保護和 ASR 規則無法檢查流量或強制執行該特定程序的規則。

影像名稱與完整路徑用於程序排除

可能會設定兩種不同類型的流程排除。 某個程序可能會依映像名稱或完整路徑被排除。 影像名稱僅為程序的檔案名稱,不含路徑。

例如,給定從 C:\MyFolder\ 執行的處理程序 MyProcess.exe,此處理程序的完整路徑為 C:\MyFolder\MyProcess.exe,且映像名稱為 MyProcess.exe

影像名稱排除範圍更廣—— MyProcess.exe 排除任何使用此影像名稱的程序,無論它們是從哪條路徑運行。 舉例來說,如果處理程序 MyProcess.exe 因映像檔名稱而被排除,那麼無論它是從 C:\MyOtherFolder 執行、從卸除式媒體執行等等情況,也都會被排除。 因此建議盡可能使用完整路徑。

在程序排除列表中使用萬用字元

在程序排除列表中使用萬用字元與其他排除清單不同。 當程序排除僅定義為圖片名稱時,則不允許使用萬用字元。 然而,當使用完整路徑時,則支援萬用字元,而完整路徑處理序排除的萬用字元比對行為會遵循 根據檔案名稱、副檔名及資料夾位置設定並驗證排除項目 中「在檔案名稱與資料夾路徑或副檔名排除清單中使用萬用字元」一節所述的規則

也支援在定義處理程序排除清單項目時,將環境變數(例如 %ALLUSERSPROFILE%)作為萬用字元使用。 關於支援環境變數語法及完整支援環境變數清單,詳見「 根據檔名、副檔名及資料夾位置配置與驗證排除」的「系統環境變數」章節。

下表說明了當路徑被提供時,通配符如何在程序排除列表中使用:

萬用字元 應用範例 比賽範例
* (星號)

可以替換任意數量的角色。
C:\MyFolder\* 任何由 C:\MyFolder\MyProcess.exeC:\MyFolder\AnotherProcess.exe 開啟的檔案
C:\*\*\MyProcess.exe 任何由 C:\MyFolder1\MyFolder2\MyProcess.exeC:\MyFolder3\MyFolder4\MyProcess.exe 開啟的檔案
C:\*\MyFolder\My*.exe C:\MyOtherFolder\MyFolder\MyProcess.exeC:\AnotherFolder\MyFolder\MyOtherProcess.exe 開啟的任何檔案
「?」 (問號)

替換一個角色。
C:\MyFolder\MyProcess??.exe 任何由 C:\MyFolder\MyProcess42.exeC:\MyFolder\MyProcessAA.exeC:\MyFolder\MyProcessF5.exe 開啟的檔案
環境變數 %ALLUSERSPROFILE%\MyFolder\MyProcess.exe 任何由 C:\ProgramData\MyFolder\MyProcess.exe 開啟的檔案

情境式程序排除

程序排除也可以透過 情境排除 定義,例如,只有在特定程序開啟特定檔案時才會排除該檔案。

設定指定程序開啟檔案的排除清單

請使用以下方法之一來設定指定程序開啟檔案的排除功能。

使用 Microsoft Intune 將由指定處理程序開啟的檔案排除在掃描之外

如需詳細資訊,請參閱 在 Microsoft Intune 中設定裝置限制設定Intune 中適用於 Windows 10 的 Microsoft Defender 防毒軟體裝置限制設定

使用 Microsoft Configuration Manager 將已由指定處理程序開啟的檔案排除在掃描之外

請參閱「如何建立與部署防惡意軟體政策:排除設定」,以了解如何設定目前分支) Microsoft Configuration Manager (。

使用群組原則將由指定的程序開啟的檔案排除在掃描之外

請使用群組原則執行以下步驟來配置基於程序的排除:

  1. 在您的群組原則管理電腦,開啟 群組原則管理主控台。 右鍵點擊你想設定的群組原則物件,然後選擇編輯

  2. [群組原則管理編輯器] 中,移至 [電腦設定] 然後選取 [系統管理範本]

  3. 將樹狀圖擴展至 Windows 元件 > Microsoft Defender 防毒>排除項目

  4. 雙擊「 流程排除」 並新增排除事項:

    1. 將選項設為 啟用
    2. 選項 區塊中,選擇 顯示...
    3. 值名稱 欄下,每行輸入一個處理程序。 請參閱範例表格以了解不同類型的流程排除。 在所有程序的欄位輸入 0
  5. 選取 確定

使用 PowerShell Cmdlet 將由指定處理程序開啟的檔案排除在掃描之外

使用 PowerShell 新增或移除程序開啟的檔案排除項目,需要使用三個帶有參數的 -ExclusionProcess cmdlet 組合。 這些指令小程式都在 防禦模組裡。

請使用以下語法新增程序排除功能,使指定程序開啟的檔案被排除在 Microsoft Defender 防毒軟體掃描之外:

<cmdlet> -ExclusionProcess "<item>"

下列可作為 <cmdlet>:

設定動作 PowerShell Cmdlet(命令單元)
建立或覆寫清單 Set-MpPreference
加入清單 Add-MpPreference
從清單中移除項目 Remove-MpPreference

重要事項

如果你使用 Set-MpPreferenceAdd-MpPreference 建立清單,當使用 Set-MpPreference Cmdlet 時,現有清單會被覆寫。

以下範例會為 c:\internal\test.exe 新增處理程序排除項目,使 Microsoft Defender 防毒軟體略過掃描由該處理程序開啟的任何檔案:

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

欲了解更多如何使用 PowerShell 搭配 Microsoft Defender 防毒軟體的資訊,請參閱「使用 PowerShell 指令匣來設定並執行 Microsoft Defender 防毒軟體及 Microsoft Defender 防毒軟體指令。

使用 Windows Management Instrumentation (WMI) 將由指定處理程序開啟的檔案排除在掃描之外

請使用MSFT_MpPreference類別中的 SetAddRemove 方法來達成以下屬性。 這個 ExclusionProcess 屬性是你用來程式管理程序排除項目的 WMI 屬性名稱:

ExclusionProcess

SetAddRemove 的用法相當於 PowerShell 中對應的 Set-MpPreferenceAdd-MpPreferenceRemove-MpPreference

欲了解更多資訊及允許參數,請參閱 Windows Defender WMIv2 API。

使用 Windows 安全性應用程式,將由指定的處理程序開啟的檔案排除在掃描之外

請依照 Windows 安全性 應用程式中新增程序排除的指示。

檢視排除清單

你可以使用 MpCmdRun、PowerShell、Microsoft Configuration ManagerIntuneWindows 安全性應用程式,取得排除清單中的項目。

請使用 MpCmdRun 驗證排除清單

要用 MpCmdRun 命令列工具檢查排除事項,請參見 「驗證指定路徑是否被排除」,使用 MpCmdRun

使用 PowerShell 檢視排除清單

在一個提升的 PowerShell 視窗(你選擇 以管理員身份執行時開啟的 PowerShell 視窗)執行以下指令。 此腳本會擷取目前所有已設定的 Microsoft Defender 防毒排除項目,並依類型(擴充功能、路徑與程序)列出,方便您驗證設定:

$p=Get-MpPreference; @(
  $p.ExclusionExtension | ForEach-Object {[pscustomobject]@{Type='ExclusionExtension'; Value=$_}}
  $p.ExclusionPath      | ForEach-Object {[pscustomobject]@{Type='ExclusionPath';      Value=$_}}
  $p.ExclusionProcess   | ForEach-Object {[pscustomobject]@{Type='ExclusionProcess';   Value=$_}}
)

欲了解更多如何使用 PowerShell 搭配 Microsoft Defender 防毒軟體的資訊,請參閱「使用 PowerShell 指令匣來設定並執行 Microsoft Defender 防毒軟體及 Microsoft Defender 防毒軟體指令。

以下文章提供關於 Microsoft Defender 防毒軟體中排除設定的額外資訊: