Analizzatore prestazioni per Microsoft Defender Antivirus
Si applica a
- Microsoft Defender per endpoint Piano 1
- Microsoft Defender per endpoint Piano 2
- Antivirus Microsoft Defender
Piattaforme
- Windows
Requisiti
Microsoft Defender Antivirus Performance Analyzer presenta i prerequisiti seguenti:
- Versioni di Windows supportate:
- Windows 10
- Windows 11
- Windows Server 2016 e versioni successive
- Windows Server 2012 R2 (quando viene eseguito l'onboarding con una soluzione moderna e unificata)
- Per Windows Server 2012 R2, è necessario Windows ADK (Windows Performance Toolkit). Scaricare e installare Windows ADK
- Versione della piattaforma:
4.18.2108.7
o versione successiva - Versione di PowerShell: PowerShell versione 5.1, PowerShell ISE, PowerShell remoto (4.18.2201.10+), PowerShell 7.x (4.18.2201.10+)
Che cos'è l'analizzatore delle prestazioni di Microsoft Defender Antivirus?
Se i dispositivi che eseguono Microsoft Defender Antivirus riscontrano problemi di prestazioni, è possibile usare l'analizzatore delle prestazioni per migliorare le prestazioni di Microsoft Defender Antivirus. L'analizzatore delle prestazioni è uno strumento da riga di comando di PowerShell che consente di determinare file, estensioni di file e processi che potrebbero causare problemi di prestazioni nei singoli endpoint durante le analisi antivirus. È possibile usare le informazioni raccolte dall'analizzatore delle prestazioni per valutare i problemi di prestazioni e applicare azioni correttive.
Analogamente al modo in cui i meccanici eseguono la diagnostica e il servizio in un veicolo con problemi di prestazioni, l'analizzatore delle prestazioni può aiutare a migliorare le prestazioni di Microsoft Defender Antivirus.
Alcune opzioni da analizzare includono:
- Percorsi principali che influiscono sul tempo di analisi
- File principali che influiscono sul tempo di analisi
- Principali processi che influiscono sul tempo di analisi
- Principali estensioni di file che influiscono sul tempo di analisi
- Combinazioni, ad esempio:
- file principali per estensione
- percorsi principali per estensione
- processi principali per percorso
- analisi principali per file
- analisi principali per file per processo
Esecuzione dell'analizzatore delle prestazioni
Il processo di alto livello per l'esecuzione dell'analizzatore delle prestazioni prevede i passaggi seguenti:
Eseguire l'analizzatore delle prestazioni per raccogliere una registrazione delle prestazioni degli eventi di Microsoft Defender Antivirus nell'endpoint.
Nota
Le prestazioni degli eventi di Microsoft Defender Antivirus del tipo
Microsoft-Antimalware-Engine
vengono registrate tramite l'analizzatore delle prestazioni.Analizzare i risultati dell'analisi usando report di registrazione diversi.
Uso dell'analizzatore delle prestazioni
Per avviare la registrazione degli eventi di sistema, aprire PowerShell in modalità amministratore ed eseguire la procedura seguente:
Eseguire il comando seguente per avviare la registrazione:
New-MpPerformanceRecording -RecordTo <recording.etl>
il parametro where
-RecordTo
specifica il percorso completo del percorso in cui viene salvato il file di traccia. Per altre informazioni sui cmdlet, vedere Cmdlet di Microsoft Defender Antivirus.Se sono presenti processi o servizi che si ritiene influenzino le prestazioni, riprodurre la situazione eseguendo le attività pertinenti.
Premere INVIO per arrestare e salvare la registrazione oppure CTRL+C per annullare la registrazione.
Analizzare i risultati usando il parametro dell'analizzatore
Get-MpPerformanceReport
delle prestazioni. Ad esempio, durante l'esecuzione del comandoGet-MpPerformanceReport -Path <recording.etl> -TopFiles 3 -TopScansPerFile 10
, all'utente viene fornito un elenco delle prime dieci analisi per i primi tre file che influiscono sulle prestazioni.Per altre informazioni sui parametri e sulle opzioni della riga di comando, vedere New-MpPerformanceRecording e Get-MpPerformanceReport.
Nota
Quando si esegue una registrazione, se viene visualizzato l'errore "Impossibile avviare la registrazione delle prestazioni perché Windows Performance Recorder sta già registrando", eseguire il comando seguente per arrestare la traccia esistente con il nuovo comando : wpr -cancel -instancename MSFT_MpPerformanceRecording
.
Dati e informazioni sull'ottimizzazione delle prestazioni
In base alla query, l'utente è in grado di visualizzare i dati per i conteggi di analisi, la durata (totale/min/media/max/mediano), il percorso, il processo e il motivo dell'analisi. L'immagine seguente mostra l'output di esempio per una semplice query dei primi 10 file per l'impatto dell'analisi.
Esportazione e conversione in CSV e JSON
I risultati dell'analizzatore delle prestazioni possono anche essere esportati e convertiti in un file CSV o JSON. Questo articolo include esempi che descrivono il processo di "esportazione" e "conversione" tramite codice di esempio.
A partire dalla versione 4.18.2206.X
di Defender, gli utenti sono in grado di visualizzare le informazioni sui motivi ignorati dell'analisi nella SkipReason
colonna. I valori possibili sono i seguenti:
- Non ignorato
- Ottimizzazione (in genere per motivi di prestazioni)
- Utente ignorato (in genere a causa di esclusioni del set di utenti)
Per CSV
- Per esportare:
(Get-MpPerformanceReport -Path .\Repro-Install.etl -Topscans 1000).TopScans | Export-CSV -Path .\Repro-Install-Scans.csv -Encoding UTF8 -NoTypeInformation
- Per convertire:
(Get-MpPerformanceReport -Path .\Repro-Install.etl -Topscans 100).TopScans | ConvertTo-Csv -NoTypeInformation
Per JSON
- Per convertire:
(Get-MpPerformanceReport -Path .\Repro-Install.etl -Topscans 1000).TopScans | ConvertTo-Json -Depth 1
Per garantire l'output leggibile dal computer per l'esportazione con altri sistemi di elaborazione dati, è consigliabile usare -Raw
il parametro per Get-MpPerformanceReport
. Per altri dettagli, vedere le sezioni seguenti.
Riferimenti a PowerShell
Sono disponibili due nuovi cmdlet di PowerShell usati per ottimizzare le prestazioni di Microsoft Defender Antivirus:
New-MpPerformanceRecording
Nella sezione seguente viene descritto il riferimento per il nuovo cmdlet New-MpPerformanceRecording
di PowerShell. Questo cmdlet raccoglie una registrazione delle prestazioni delle analisi di Microsoft Defender Antivirus.
Sintassi: New-MpPerformanceRecording
New-MpPerformanceRecording -RecordTo <String>
Descrizione: New-MpPerformanceRecording
Il New-MpPerformanceRecording
cmdlet raccoglie una registrazione delle prestazioni delle analisi di Microsoft Defender Antivirus. Queste registrazioni delle prestazioni contengono eventi di processo del kernel Microsoft-Antimalware-Engine e NT e possono essere analizzate dopo la raccolta usando il cmdlet Get-MpPerformanceReport .
Questo New-MpPerformanceRecording
cmdlet fornisce informazioni dettagliate sui file problematici che potrebbero causare una riduzione delle prestazioni di Microsoft Defender Antivirus. Questo strumento viene fornito "così come è" e non è progettato per fornire suggerimenti sulle esclusioni. Le esclusioni possono ridurre il livello di protezione negli endpoint. Eventuali esclusioni devono essere definite con cautela.
Per altre informazioni sull'analizzatore delle prestazioni, vedere la documentazione dell'analizzatore delle prestazioni .
Importante
Questo cmdlet richiede privilegi di amministratore con privilegi elevati.
Esempi: New-MpPerformanceRecording
Esempio 1: Raccogliere una registrazione delle prestazioni e salvarla
New-MpPerformanceRecording -RecordTo .\Defender-scans.etl
Il comando raccoglie una registrazione delle prestazioni e la salva nel percorso specificato: .\Defender-scans.etl
.
Esempio 2: Raccogliere una registrazione delle prestazioni per la sessione remota di PowerShell
$s = New-PSSession -ComputerName Server02 -Credential Domain01\User01
New-MpPerformanceRecording -RecordTo C:\LocalPathOnServer02\trace.etl -Session $s
Il comando raccoglie una registrazione delle prestazioni su Server02
(come specificato dall'argomento $s del parametro Session) e la salva nel percorso specificato: C:\LocalPathOnServer02\trace.etl
in Server02
.
Parametri: New-MpPerformanceRecording
-RecordTo
Specifica la posizione in cui salvare la registrazione delle prestazioni di Microsoft Defender Antimalware.
Type: String
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-Sessione
Specifica l'oggetto PSSession
in cui creare e salvare la registrazione delle prestazioni di Microsoft Defender Antivirus. Quando si usa questo comando, il RecordTo
parametro fa riferimento al percorso locale nel computer remoto. Disponibile con la versione della 4.18.2201.10
piattaforma Defender e versioni successive.
Type: PSSession[]
Position: 0
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
Get-MpPerformanceReport
Nella sezione seguente viene descritto il Get-MpPerformanceReport
cmdlet di PowerShell. Analizza e segnala la registrazione delle prestazioni di Microsoft Defender Antivirus.
Sintassi: 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>]
Descrizione: Get-MpPerformanceReport
Il Get-MpPerformanceReport
cmdlet analizza una registrazione delle prestazioni di Microsoft Defender Antivirus raccolta in precedenza (New-MpPerformanceRecording) e segnala i percorsi dei file, le estensioni di file e i processi che causano il massimo impatto sulle analisi di Microsoft Defender Antivirus.
L'analizzatore delle prestazioni fornisce informazioni dettagliate sui file problematici che potrebbero causare una riduzione delle prestazioni di Microsoft Defender Antivirus. Questo strumento viene fornito "così come è" e non è progettato per fornire suggerimenti sulle esclusioni. Le esclusioni possono ridurre il livello di protezione negli endpoint. Eventuali esclusioni devono essere definite con cautela.
Per altre informazioni sull'analizzatore delle prestazioni, vedere la documentazione dell'analizzatore delle prestazioni .
Versioni del sistema operativo supportate:
Windows versione 10 e successive.
Nota
Questa funzionalità è disponibile a partire dalla versione della 4.18.2108.X
piattaforma e versioni successive.
Esempi: Get-MpPerformanceReport
Esempio 1: Query singola
Get-MpPerformanceReport -Path .\Defender-scans.etl -TopScans 20
Esempio 2: Più query
Get-MpPerformanceReport -Path .\Defender-scans.etl -TopFiles 10 -TopExtensions 10 -TopProcesses 10 -TopScans 10
Esempio 3: Query annidate
Get-MpPerformanceReport -Path .\Defender-scans.etl -TopProcesses 10 -TopExtensionsPerProcess 3 -TopScansPerExtensionPerProcess 3
Esempio 4: Uso del parametro -MinDuration
Get-MpPerformanceReport -Path .\Defender-scans.etl -TopScans 100 -MinDuration 100ms
Esempio 5: Uso del parametro -Raw
Get-MpPerformanceReport -Path .\Defender-scans.etl -TopFiles 10 -TopExtensions 10 -TopProcesses 10 -TopScans 10 -Raw | ConvertTo-Json
L'uso -Raw
di nel comando specifica che l'output deve essere leggibile dal computer e facilmente convertibile in formati di serializzazione come JSON.
Parametri: Get-MpPerformanceReport
-TopPaths
Richiede un report dei percorsi principali e specifica il numero di percorsi principali da restituire, ordinati in base alla durata. Aggrega le analisi in base al percorso e alla directory. L'utente può specificare il numero di directory da visualizzare a ogni livello e la profondità della selezione.
- Type: Int32
- Position: Named
- Default value: None
- Accept pipeline input: False
- Accept wildcard characters: False
-TopPathsDepth
Specifica la profondità ricorsiva utilizzata per raggruppare e visualizzare i risultati del percorso aggregato. Ad esempio C:\
, corrisponde a una profondità pari a 1 e C:\Users\Foo
corrisponde a una profondità pari a 3.
Questo flag può accompagnare tutte le altre opzioni Percorso superiore. Se mancante, viene utilizzato il valore predefinito 3. Il valore non può essere 0.
- Type: Int32
- Position: Named
- Default value: 3
- Accept pipeline input: False
- Accept wildcard characters: False
bandiera | definizione |
---|---|
-TopScansPerPath |
Specifica quante analisi principali specificare per ogni percorso superiore. |
-TopFilesPerPath |
Specifica quanti file principali specificare per ogni percorso superiore. |
-TopScansPerFilePerPath |
Specifica quante analisi principali restituire per ogni file superiore per ogni percorso superiore, ordinate in base a "Durata" |
-TopExtensionsPerPath |
Specifica quante estensioni principali da restituire per ogni percorso superiore |
-TopScansPerExtensionPerPath |
Specifica il numero di analisi principali da restituire per ogni estensione superiore per ogni percorso superiore |
-TopProcessesPerPath |
Specifica quanti processi principali eseguire l'output per ogni percorso superiore |
-TopScansPerProcessPerPath |
Specifica quante analisi principali da restituire per ogni processo superiore per ogni percorso superiore |
-TopPathsPerExtension |
Specifica il numero di percorsi principali da restituire per ogni estensione superiore |
-TopScansPerPathPerExtension |
Specifica il numero di analisi principali da restituire per ogni percorso superiore per ogni estensione superiore |
-TopPathsPerProcess |
Specifica quanti percorsi principali da restituire per ogni processo superiore |
-TopScansPerPathPerProcess |
Specifica quante analisi principali da restituire per ogni percorso superiore per ogni processo superiore |
-MinDuration
Specifica la durata minima di qualsiasi analisi o durata totale dell'analisi di file, estensioni e processi inclusi nel report; accetta valori come 0.1234567sec
, 0.1234ms
, 0.1us
o un timespan valido.
Type: String
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-Sentiero
Specifica il percorso o i percorsi di una o più posizioni.
Type: String
Position: 0
Default value: None
Accept pipeline input: True
Accept wildcard characters: False
-Crudo
Specifica che l'output della registrazione delle prestazioni deve essere leggibile dal computer e facilmente convertibile in formati di serializzazione come JSON (ad esempio, tramite il comando Convert-to-JSON). Questa configurazione è consigliata per gli utenti interessati all'elaborazione batch con altri sistemi di elaborazione dati.
Type: <SwitchParameter>
Position: Named
Default value: False
Accept pipeline input: False
Accept wildcard characters: False
-TopExtensions
Specifica quante estensioni principali da restituire, ordinate in base alla durata.
Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopExtensionsPerProcess
Specifica quante estensioni principali da restituire per ogni processo principale, ordinate in base alla durata.
Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopFiles
Richiede un report dei file principali e specifica il numero di file principali da restituire, ordinati in base alla durata.
Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopFilesPerExtension
Specifica il numero di file principali da restituire per ogni estensione superiore, ordinati in base alla durata.
Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopFilesPerProcess
Specifica quanti file principali restituire per ogni processo principale, ordinati in base alla durata.
Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopProcesses
Richiede un report top-processes e specifica il numero di processi principali da restituire, ordinati in base alla durata.
Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopProcessesPerExtension
Specifica il numero di processi principali da restituire per ogni estensione superiore, ordinati in base alla durata.
Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopProcessesPerFile
Specifica quanti processi principali restituire per ogni file superiore, ordinati in base alla durata.
Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopScans
Richiede un report di analisi superiore e specifica il numero di analisi principali da restituire, ordinate in base alla durata.
Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopScansPerExtension
Specifica il numero di analisi principali da restituire per ogni estensione superiore, ordinate in base alla durata.
Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopScansPerExtensionPerProcess
Specifica il numero di analisi principali da restituire per ogni estensione superiore per ogni processo superiore, ordinate in base alla durata.
Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopScansPerFile
Specifica quante analisi principali restituire per ogni file superiore, ordinate in base alla durata.
Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopScansPerFilePerExtension
Specifica il numero di analisi principali da restituire per ogni file superiore per ogni estensione superiore, ordinate in base alla durata.
Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopScansPerFilePerProcess
Specifica quante analisi principali di output per ogni file superiore per ogni processo superiore, ordinate in base alla durata.
Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopScansPerProcess
Specifica il numero di analisi principali da restituire per ogni processo principale nel report Processi principali, ordinate in base alla durata.
Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopScansPerProcessPerExtension
Specifica il numero di analisi principali per l'output di ogni processo superiore per ogni estensione superiore, ordinate in base alla durata.
Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-TopScansPerProcessPerFile
Specifica quante analisi principali di output per ogni processo superiore per ogni file superiore, ordinate in base alla durata.
Type: Int32
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
Consiglio
Per saperne di più, Collaborare con la community di Microsoft Security nella community tech: Microsoft Defender per endpoint Tech Community.