你可以排除特定程序開啟的檔案,避免被 Microsoft Defender 防毒軟體掃描。 這類排除是針對由程序開啟的檔案,而非程序本身。 要排除某個程序,請新增檔案排除 (參見 「根據檔案副檔名和資料夾位置) 配置與驗證排除事項 」。
在定義排除清單之前,請先參閱有關排除項目的重要事項,並檢閱管理 適用於端點的 Microsoft Defender 和 Microsoft Defender 防毒軟體的排除項目中的資訊。
本節說明如何設定指定程序開啟檔案的程序排除功能。
必要條件
支援的作業系統
本文所述的程序排除功能在以下作業系統上獲得支援:
- Windows
許可
使用 PowerShell 或 WMI 設定及檢視處理程序排除時,需要使用提升權限的 PowerShell 視窗(可透過選取 以系統管理員身分執行 來開啟)。
流程排除範例
下表展示了常見的製程排除模式及其對應點。
| 排除 | 範例 |
|---|---|
| 任何由任何程序以特定檔案名稱開啟的檔案 |
test.exe 排除由以下者開啟的檔案:
|
| 任何程序在特定資料夾下開啟的任何檔案 |
c:\test\sample\* 排除由以下者開啟的檔案:
|
| 任何由特定程序在特定資料夾中開啟的檔案 |
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.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.exe、C:\MyFolder\MyProcessAA.exe 或 C:\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 (。
使用群組原則將由指定的程序開啟的檔案排除在掃描之外
請使用群組原則執行以下步驟來配置基於程序的排除:
在您的群組原則管理電腦,開啟 群組原則管理主控台。 右鍵點擊你想設定的群組原則物件,然後選擇編輯。
在 [群組原則管理編輯器] 中,移至 [電腦設定] 然後選取 [系統管理範本]。
將樹狀圖擴展至 Windows 元件 > Microsoft Defender 防毒>排除項目。
雙擊「 流程排除」 並新增排除事項:
- 將選項設為 啟用。
- 在 選項 區塊中,選擇 顯示...。
- 在 值名稱 欄下,每行輸入一個處理程序。 請參閱範例表格以了解不同類型的流程排除。 在所有程序的值欄位輸入 0。
選取 確定。
使用 PowerShell Cmdlet 將由指定處理程序開啟的檔案排除在掃描之外
使用 PowerShell 新增或移除程序開啟的檔案排除項目,需要使用三個帶有參數的 -ExclusionProcess cmdlet 組合。 這些指令小程式都在 防禦模組裡。
請使用以下語法新增程序排除功能,使指定程序開啟的檔案被排除在 Microsoft Defender 防毒軟體掃描之外:
<cmdlet> -ExclusionProcess "<item>"
下列可作為 <cmdlet>:
| 設定動作 | PowerShell Cmdlet(命令單元) |
|---|---|
| 建立或覆寫清單 | Set-MpPreference |
| 加入清單 | Add-MpPreference |
| 從清單中移除項目 | Remove-MpPreference |
重要事項
如果你使用 Set-MpPreference 或 Add-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類別中的 Set、Add 和 Remove 方法來達成以下屬性。 這個 ExclusionProcess 屬性是你用來程式管理程序排除項目的 WMI 屬性名稱:
ExclusionProcess
Set、Add 和 Remove 的用法相當於 PowerShell 中對應的 Set-MpPreference、Add-MpPreference 和 Remove-MpPreference。
欲了解更多資訊及允許參數,請參閱 Windows Defender WMIv2 API。
使用 Windows 安全性應用程式,將由指定的處理程序開啟的檔案排除在掃描之外
請依照 Windows 安全性 應用程式中新增程序排除的指示。
檢視排除清單
你可以使用 MpCmdRun、PowerShell、Microsoft Configuration Manager、Intune 或 Windows 安全性應用程式,取得排除清單中的項目。
請使用 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 防毒軟體中排除設定的額外資訊: