PowerShell 參考
您可以使用以下新的 PowerShell 指令小程式來調整 Microsoft Defender 防毒軟體的效能:
先決條件
支援的作業系統
Windows 版本 10 及以上。
注意事項
此功能從平台版本 4.18.2108.X 開始提供。
New-MpPerformanceRecording
以下章節描述新 PowerShell cmdlet New-MpPerformanceRecording的參考。 此指令子會收集 Microsoft Defender 防毒軟體掃描的效能錄影。
語法:New-MpPerformanceRecording
New-MpPerformanceRecording -RecordTo <String>
描述:New-MpPerformanceRecording
該New-MpPerformanceRecording指令長會收集 Microsoft Defender 防毒軟體掃描的效能錄音。 這些效能記錄包含 Microsoft-Antimalware-Engine 與 NT 核心程序事件,收集後可使用 Get-MpPerformanceReport 指令碼進行分析。
此New-MpPerformanceRecording指令小程式提供對可能導致 Microsoft Defender 防毒軟體效能下降的問題檔案的洞見。 此工具僅以現狀提供,並非用來提供 排除事項建議。 排除條款可能會降低終端的防護等級。 若有排除條款,應謹慎定義。
欲了解更多效能分析器資訊,請參閱效能分析器文件。
重要事項
此指令小程式需要提升管理員權限。
範例:New-MpPerformanceRecording
範例一:收集一段表演錄音並保存
New-MpPerformanceRecording -RecordTo .\Defender-scans.etl
指令會收集一段效能錄音並儲存到指定的路徑: .\Defender-scans.etl。
範例 2:為遠端 PowerShell 工作階段收集效能錄音
$s = New-PSSession -ComputerName Server02 -Credential Domain01\User01
New-MpPerformanceRecording -RecordTo C:\LocalPathOnServer02\trace.etl -Session $s
指令會根據參數 Session) 的參數 $s 所指定的,收集 (上的效能記錄 Server02 ,並將其儲存到指定路徑: C:\LocalPathOnServer02\trace.etl on Server02。
參數:New-MpPerformanceRecording
-記錄
指定儲存 Microsoft Defender 反惡意軟體效能錄影的位置。
Type: String
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-會期
指定PSSession建立並儲存 Microsoft Defender 防毒效能錄影的物件。 使用此指令時,參數 RecordTo 指的是遠端機器的本地路徑。 提供 Defender 平台版本 4.18.2201.10 及之後版本。
Type: PSSession[]
Position: 0
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
Get-MpPerformanceReport
以下章節將介紹 Get-MpPerformanceReport PowerShell 指令碼。 分析並報告 Microsoft Defender 防毒軟體效能記錄。
語法:Get-MpPerformanceReport
Get-MpPerformanceReport [-Path] <String> [-TopFiles <Int32>] [-TopScansPerFile <Int32>] [-TopProcessesPerFile
<Int32>] [-TopScansPerProcessPerFile <Int32>] [-TopPaths <Int32>] [-TopPathsDepth <Int32>] [-TopScansPerPath
<Int32>] [-TopFilesPerPath <Int32>] [-TopScansPerFilePerPath <Int32>] [-TopExtensionsPerPath <Int32>]
[-TopScansPerExtensionPerPath <Int32>] [-TopProcessesPerPath <Int32>] [-TopScansPerProcessPerPath <Int32>]
[-TopExtensions <Int32>] [-TopScansPerExtension <Int32>] [-TopPathsPerExtension <Int32>]
[-TopScansPerPathPerExtension <Int32>] [-TopFilesPerExtension <Int32>] [-TopScansPerFilePerExtension <Int32>]
[-TopProcessesPerExtension <Int32>] [-TopScansPerProcessPerExtension <Int32>] [-TopProcesses <Int32>]
[-TopScansPerProcess <Int32>] [-TopFilesPerProcess <Int32>] [-TopScansPerFilePerProcess <Int32>]
[-TopExtensionsPerProcess <Int32>] [-TopScansPerExtensionPerProcess <Int32>] [-TopPathsPerProcess <Int32>]
[-TopScansPerPathPerProcess <Int32>] [-TopScans <Int32>] [-MinDuration <String>] [-MinStartTime <DateTime>]
[-MinEndTime <DateTime>] [-MaxStartTime <DateTime>] [-MaxEndTime <DateTime>] [-Overview] [-Raw]
[<CommonParameters>]
描述:Get-MpPerformanceReport
該Get-MpPerformanceReport指令程式分析先前收集的 New-MpPerformanceRecording) (Microsoft Defender 防毒效能錄影,並報告對防毒掃描影響最大Microsoft Defender的檔案路徑、副檔名及程序。
效能分析器能洞察可能導致 Microsoft Defender 防毒軟體效能下降的問題檔案。 此工具是「現況」提供,並非用來提供排除條款建議。 排除條款可能會降低終端的防護等級。 若有排除條款,應謹慎定義。
欲了解更多效能分析器資訊,請參閱效能分析器文件。
範例:Get-MpPerformanceReport
範例 1:單一查詢
Get-MpPerformanceReport -Path .\Defender-scans.etl -TopScans 20
範例二:多重查詢
Get-MpPerformanceReport -Path .\Defender-scans.etl -TopFiles 10 -TopExtensions 10 -TopProcesses 10 -TopScans 10
範例 3:巢狀查詢
Get-MpPerformanceReport -Path .\Defender-scans.etl -TopProcesses 10 -TopExtensionsPerProcess 3 -TopScansPerExtensionPerProcess 3
範例 4:使用 -MinDuration 參數
Get-MpPerformanceReport -Path .\Defender-scans.etl -TopScans 100 -MinDuration 100ms
範例 5:使用 -Raw 參數
Get-MpPerformanceReport -Path .\Defender-scans.etl -TopFiles 10 -TopExtensions 10 -TopProcesses 10 -TopScans 10 -Raw | ConvertTo-Json
在 -Raw 指令中使用指定輸出必須是機器可讀且能輕易轉換為序列化格式如 JSON。
參數:Get-MpPerformanceReport
-頂尖路徑
請求頂路徑報告並指定輸出頂路徑數量,依長度排序。 根據掃描路徑和目錄彙整掃描資料。 使用者可以指定每個層級應顯示多少目錄,以及選擇深度。
- Type: Int32
- Position: Named
- Default value: None
- Accept pipeline input: False
- Accept wildcard characters: False
-TopPathsDepth
指定遞迴深度,用於分組並顯示匯總路徑結果。 例如 C:\ ,對應深度為1, C:\Users\Foo 對應深度為3。
此旗幟可搭配所有其他頂線路徑選項。 若缺少,預設值為 3。 這個值不可能是 0。
- Type: Int32
- Position: Named
- Default value: 3
- Accept pipeline input: False
- Accept wildcard characters: False
| 旗幟 | 定義 |
|---|---|
-TopScansPerPath |
指定每條頂路徑要指定多少頂掃描。 |
-TopFilesPerPath |
指定每條頂路徑要指定多少頂端檔案。 |
-TopScansPerFilePerPath |
指定每個頂層檔案對每個頂層路徑輸出多少頂層掃描,依「持續時間」排序 |
-TopExtensionsPerPath |
指定每個頂路徑要輸出多少頂擴展 |
-TopScansPerExtensionPerPath |
指定每個頂層擴展對每個頂路徑要輸出多少頂掃描 |
-TopProcessesPerPath |
指定每條頂路徑要輸出多少頂程序 |
-TopScansPerProcessPerPath |
指定每個頂層程序、每個頂層路徑要輸出多少頂掃描 |
-TopPathsPerExtension |
指定每個頂層擴充要輸出多少頂路徑 |
-TopScansPerPathPerExtension |
指定每個頂層擴展的每條頂路徑要輸出多少頂掃描 |
-TopPathsPerProcess |
指定每個頂端程序要輸出多少頂路徑 |
-TopScansPerPathPerProcess |
指定每個頂層流程中每條頂路徑要輸出多少頂掃描 |
- 最小持續時間
規定報告中包含的檔案、副檔名與程序的掃描時間或總掃描時間的最小長度;接受像 0.1234567sec、 0.1234ms、 0.1us、 或有效時間跨度這樣的值。
Type: String
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-Path
指定通往一個或多個地點的路徑。
Type: String
Position: 0
Default value: None
Accept pipeline input: True
Accept wildcard characters: False
-生的
規定效能錄製的輸出應具備機器可讀性,並可透過 Convert-to-JSON 命令) 轉換為序列化格式,例如 JSON (。 此配置建議對對其他資料處理系統進行批次處理有興趣的使用者使用。
Type: <SwitchParameter>
Position: Named
Default value: False
Accept pipeline input: False
Accept wildcard characters: False
-頂層擴展
指定要輸出多少頂擴展,依時長排序。
Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopExtensionsPerProcess
指定每個頂端程序要輸出多少頂擴展,依照時長排序。
Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-頂尖檔案
請求頂尖檔案報告,並依時長排序指定要輸出多少頂尖檔案。
Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopFilesPerExtension
指定每個頂端副檔名要輸出多少頂尖檔案,依照長度排序。
Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopFilesPerProcess
指定每個頂端程序要輸出多少頂層檔案,依照時間排序。
Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
- TopProcesses
請求頂端流程報告,並指定要輸出多少頂端程序,依時長排序。
Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
- TopProcessesPerExtension
指定每個頂端擴充要輸出多少頂端程序,依照時長排序。
Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopProcessesPerFile
指定每個頂層檔案要輸出多少頂端程序,依照時長排序。
Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopScans
請求頂掃描報告,並指定要輸出多少頂掃描,依時間排序。
Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopScansPerExtension
指定每個頂層擴展要輸出多少頂掃描,依照時長排序。
Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopScansPerExtensionPerProcess
指定每個頂端程序每個頂端擴展要輸出多少頂掃描,依照時長排序。
Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopScansPerFile
指定每個頂層檔案要輸出多少頂掃描,依照時長排序。
Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopScansPerFilePerExtension
指定每個頂層檔案、每個頂端檔名要輸出多少頂掃描,依照長度排序。
Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopScansPerFilePerProcess
指定每個頂層檔案輸出的頂掃描次數,依照時間排序。
Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopScansPerProcess
指定每個頂端流程在頂端流程報告中輸出的頂層掃描數量,依時間排序。
Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopScansPerProcessPerExtension
指定每個頂端程序對每個頂端擴展輸出的頂掃描次數,依時長排序。
Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopScansPerProcessPerFile
指定每個頂層檔案每個頂端程序輸出的頂掃描次數,依照長度排序。
Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False