Condividi tramite


Analizzatore prestazioni per Microsoft Defender Antivirus

Si applica a

Piattaforme

  • Windows

Requisiti

Microsoft Defender Antivirus Performance Analyzer presenta i prerequisiti seguenti:

  • Versioni di Windows supportate:
  • 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.

Immagine dell'analizzatore delle prestazioni concettuale per 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:

  1. 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.

  2. 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:

  1. 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.

  2. Se sono presenti processi o servizi che si ritiene influenzino le prestazioni, riprodurre la situazione eseguendo le attività pertinenti.

  3. Premere INVIO per arrestare e salvare la registrazione oppure CTRL+C per annullare la registrazione.

  4. Analizzare i risultati usando il parametro dell'analizzatore Get-MpPerformanceReport delle prestazioni. Ad esempio, durante l'esecuzione del comando Get-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.

Output di esempio per una query TopFiles di base

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.Xdi 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-MpPerformanceRecordingdi 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.1uso 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.