Analizzatore prestazioni per Microsoft Defender Antivirus

Si applica a

Piattaforme

  • Windows

Requisiti

Microsoft Defender Analizzatore prestazioni antivirus presenta i prerequisiti seguenti:

  • Versioni di Windows supportate: Windows 10, Windows 11, Windows 2012 R2 con la soluzione unificata moderna e Windows Server 2016 e versioni successive
  • 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'è Microsoft Defender Analizzatore prestazioni antivirus?

Se i computer che eseguono Microsoft Defender Antivirus riscontrano problemi di prestazioni, è possibile usare l'analizzatore delle prestazioni per migliorare le prestazioni di Microsoft Defender Antivirus. Analizzatore prestazioni per Microsoft Defender Antivirus in Windows 10, Windows 11 e Windows Server è 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 su un veicolo che presenta problemi di prestazioni, l'analizzatore delle prestazioni può aiutare a migliorare le prestazioni di Defender Antivirus.

Immagine dell'analizzatore delle prestazioni concettuale per Microsoft Defender Antivirus. Il diagramma è correlato a: analizzatore prestazioni Microsoft Defender, Analizzatore prestazioni Defender, Get-MpPerformanceRepor, New-MpPerformanceRecording, windows Defender, microsoft Defender, microsoft windows 10, antivirus microsoft Defender, micro soft windows 11, antivirus windows, antivirus Microsoft, antivirus windows Defender, antivirus Windows 10, microsoft windows Defender, prestazioni finestre.

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 antivirus Microsoft Defender nell'endpoint.

    Nota

    Le prestazioni degli eventi antivirus Microsoft Defender di 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à amministrativa 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 Microsoft Defender Cmdlet 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é Registrazione prestazioni Windows 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

Funzionalità aggiuntive: 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. Per esempi che descrivono il processo di "esportazione" e "conversione" tramite codici di esempio, vedere le sezioni seguenti.

A partire dalla versione 4.18.2206.Xdi Defender, gli utenti sono in grado di visualizzare le informazioni sul motivo dell'errore di analisi nella colonna "SkipReason". 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 di PowerShell New-MpPerformanceRecording. Questo cmdlet raccoglie una registrazione delle prestazioni delle analisi antivirus Microsoft Defender.

Sintassi: New-MpPerformanceRecording

New-MpPerformanceRecording -RecordTo <String>

Descrizione: New-MpPerformanceRecording

Il New-MpPerformanceRecording cmdlet raccoglie una registrazione delle prestazioni delle analisi antivirus Microsoft Defender. 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 "AS IS" 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 analizzatore prestazioni documentazione.

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 precedente 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 precedente raccoglie una registrazione delle prestazioni in 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 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 Microsoft Defender Antivirus. Quando si usa questo parametro, il parametro RecordTo fa riferimento al percorso locale nel computer remoto. Disponibile con la piattaforma Defender versione 4.18.2201.10.

Type: PSSession[]
Position: 0
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

Get-MpPerformanceReport

Nella sezione seguente viene descritto il cmdlet di PowerShell Get-MpPerformanceReport. Analizza e segnala la registrazione delle prestazioni di Microsoft Defender Antivirus.

Sintassi: Get-MpPerformanceReport

Get-MpPerformanceReport [-Path] <String>
    [-TopScans [<Int32>]]
    [-TopPaths [<Int32>] [-TopPathsDepth [<Int32>]]]
            [-TopScansPerPath [<Int32>]]
            [-TopFilesPerPath [<Int32>]
                    [-TopScansPerFilePerPath [<Int32>]]
                    ]
            [-TopExtensionsPerPath [<Int32>]
                    [-TopScansPerExtensionPerPath [<Int32>]]
                    ]
            [-TopProcessesPerPath [<Int32>]
                    [-TopScansPerProcessPerPath [<Int32>]]
                    ]
            ]
    [-TopFiles [<Int32>]
            [-TopScansPerFile [<Int32>]]
            [-TopProcessesPerFile [<Int32>]
                    [-TopScansPerProcessPerFile [<Int32>]]
                    ]
            ]
    [-TopExtensions [<Int32>]
            [-TopScansPerExtension [<Int32>]
            [-TopPathsPerExtension [<Int32>] [-TopPathsDepth [<Int32>]]
                    [-TopScansPerPathPerExtension [<Int32>]]
                    ]
            [-TopProcessesPerExtension [<Int32>]
                    [-TopScansPerProcessPerExtension [<Int32>]]
                    ]
            [-TopFilesPerExtension [<Int32>]
                    [-TopScansPerFilePerExtension [<Int32>]]
                    ]
            ]
    [-TopProcesses [<Int32>]
            [-TopScansPerProcess [<Int32>]]
            [-TopExtensionsPerProcess [<Int32>]
                    [-TopScansPerExtensionPerProcess [<Int32>]]
                    ]
            [-TopPathsPerProcess [<Int32>] [-TopPathsDepth [<Int32>]]
                    [-TopScansPerPathPerProcess [<Int32>]]
                    ]
            [-TopFilesPerProcess [<Int32>]
                    [-TopScansPerFilePerProcess [<Int32>]]
                    ]
            ]
    [-MinDuration <String>]
    [-Raw]

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 antivirus Microsoft Defender.

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 "AS IS" 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 analizzatore prestazioni documentazione.

Versioni del sistema operativo supportate:

Windows versione 10 e successive.

Nota

Questa funzionalità è disponibile a partire dalla versione 4.18.2108.X della 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 di -Raw nel comando precedente 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, "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,1234 ms, 0,1us o un TimeSpan valido.

Type: String
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-Percorso

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 a Duration.

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 principale, 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 principali 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 per l'output di 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 per 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 per l'output di 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

Risorse aggiuntive

Se si cercano informazioni correlate all'antivirus per altre piattaforme, vedere:

Consiglio

Per saperne di più, Engage con la community Microsoft Security nella community tech: Microsoft Defender per endpoint Tech Community.