Punti chiave
- Individua e documenta le metriche della baseline, come utilizzo di CPU, memoria, disco e rete, raggruppandole per tipo di dispositivo, ruolo o fascia hardware.
Raccogli i dati della baseline con PowerShell: usa PowerShell per acquisire le metriche di prestazione in tempo reale ed esportare i risultati, così da ottenere confronti ripetibili prima e dopo gli interventi. - Esegui gli strumenti integrati del Prompt dei comandi per convalidare rapidamente i dati della baseline e confermare lo stato di salute del sistema durante i controlli a campione.
- Salva gli indicatori chiave della baseline nel Registro di sistema di Windows per supportare la convalida locale, gli audit offline e i flussi di lavoro di automazione.
- Pianifica acquisizioni ricorrenti della baseline con l’Utilità di pianificazione o i criteri di gruppo per un monitoraggio su scala enterprise.
Quando si esegue il monitoraggio delle prestazioni degli endpoint, una baseline mostra come si presenta la “normalità” e funge da riferimento rispetto allo stato attuale. Aiuta i team IT a individuare i primi segnali di degrado, i problemi di capacità o l’uso improprio delle risorse. Gli strumenti integrati di Windows permettono di creare questa baseline a costi contenuti e in qualsiasi ambiente Windows.
Questa guida illustra passo dopo passo come creare una baseline delle prestazioni degli endpoint con gli strumenti integrati di Windows e PowerShell.
Guarda la versione video di Come creare una baseline delle prestazioni degli endpoint con gli strumenti integrati di Windows e PowerShell.
Ottieni visibilità e controllo completi sui tuoi endpoint Windows con NinjaOne.
Scopri le funzionalità di gestione degli endpoint Windows di NinjaOne.
Passaggi per creare una baseline delle prestazioni degli endpoint con gli strumenti integrati di Windows e PowerShell
Prima di iniziare, verifica che siano soddisfatti i requisiti seguenti:
Prerequisiti generali:
- PowerShell 5.1 o versione successiva
- Diritti di amministratore locale per eseguire query sulle prestazioni ed esportare i risultati
- Facoltativo: una piattaforma RMM o di scripting (ad esempio NinjaOne) per l’automazione
- Una definizione chiara del comportamento normale del sistema per ogni cliente o ambiente
Passaggio 1: definisci le metriche di prestazione chiave da includere nella baseline
Per iniziare, definisci le metriche di prestazione chiave che faranno da fondamento alla tua baseline. Una volta individuate tutte le metriche, potrai raccogliere facilmente i dati corretti per costruire una baseline accurata.
Casi d’uso: utile per segmentare le baseline, pianificare la capacità, stabilire soglie basate sugli SLA o creare un riferimento affidabile per la risoluzione dei problemi.
Passaggi:
- Raggruppa gli endpoint in coorti o in base a caratteristiche comuni:
- Tipo di dispositivo: laptop, virtual machine o desktop
- Ruolo dell’endpoint: vendite, sviluppatori, server
- Livello hardware: quantità di RAM, tipo di storage, modello di CPU
- Versione dell’OS: Windows 10 22H2, Windows 11 23H2
- Seleziona le metriche principali da monitorare. Metriche consigliate:
- Utilizzo della CPU (medio e di picco)
- Utilizzo della memoria (utilizzata rispetto al totale)
- I/O del disco (lunghezza della coda, latenza)
- Attività di rete (byte inviati/ricevuti)
- Tempo di avvio e durata dell’uptime
- Tempo di avvio e di caricamento dei servizi
- Numero medio di processi e principali consumatori di risorse
- Imposta soglie adeguate per ogni cliente, ruolo del dispositivo (workstation o server) o SLA.
- Documenta le metriche creando un modello di baseline che includa i valori definiti, la frequenza di campionamento e gli strumenti di misurazione utilizzati.
Passaggio 2: usa PowerShell per raccogliere e archiviare i dati sulle prestazioni
Dopo aver stabilito le metriche di prestazione chiave, è il momento di raccogliere i dati dettagliati sulle prestazioni in tempo reale di cui hai bisogno. PowerShell è uno strumento potente e integrato in Windows particolarmente adatto a questo scopo, perché consente sia lo scripting sia la ripetibilità.
Casi d’uso: ideale per creare riferimenti utili alla risoluzione dei problemi e per confrontare snapshot delle prestazioni prima e dopo un intervento.
Prerequisiti:
- PowerShell 5.1 o versione successiva
- Privilegi di amministratore
- Facoltativo: una piattaforma RMM o di scripting (ad esempio NinjaOne) per l’automazione
Passaggi:
- Premi Win + S, cerca PowerShell, fai clic con il pulsante destro del mouse e seleziona Esegui come amministratore.
- Acquisisci uno snapshot di base di CPU e memoria:
Get-CimInstance Win32_Processor | Select-Object LoadPercentageGet-CimInstance Win32_OperatingSystem | Select-Object FreePhysicalMemory, TotalVisibleMemorySize
(Consulta anche Get-CimInstance nella sezione CimCmdlets di Microsoft Learn.)
- Verifica il tempo di avvio e la durata dell’uptime:
$boot = (Get-CimInstance Win32_OperatingSystem).LastBootUpTime$uptime = (Get-Date) - $boot
- Misura l’I/O del disco usando i contatori delle prestazioni:
Get-Counter -Counter "\PhysicalDisk(_Total)\Avg. Disk Queue Length"
(Consulta anche Get-Counter nel modulo Microsoft.PowerShell.Diagnostics di Microsoft Learn.)
- Esporta i risultati in CSV per il monitoraggio storico:
$report | Export-Csv -Path "C:\Performance\Baseline.csv" -NoTypeInformation
Passaggio 3: usa CMD per controlli rapidi e verifiche
Per convalidare i valori della baseline rilevati con PowerShell, questo metodo utilizza il Prompt dei comandi (CMD) per eseguire comandi integrati che verificano lo stato di salute e gli indicatori di prestazione del sistema.
Casi d’uso: utile per verifiche manuali rapide o per la risoluzione immediata dei problemi senza eseguire script completi.
Passaggi:
- Premi Win + R, digita cmd e premi Invio per aprire il Prompt dei comandi.
- Controlla l’utilizzo di CPU e memoria:
tasklist /fo csv | findstr /i "chrome.exe"
- Visualizza il tempo di avvio e l’uptime del sistema:
systeminfo | findstr /B /C:"System Boot Time"
- Elenca tutti i servizi in esecuzione:
sc query type= service state= all | findstr /C:"RUNNING"
Suggerimento: questi output possono essere reindirizzati a file di log da consultare in seguito durante la creazione della baseline o la risoluzione dei problemi.
Passaggio 4: archivia gli indicatori della baseline nel registro di sistema
Questo metodo ti consente di salvare manualmente gli indicatori di prestazione chiave della tua baseline nel Registro di sistema di Windows. È un modo efficiente per mantenere uno storico locale e confrontare rapidamente i valori attuali con la baseline stabilita.
Casi d’uso: ideale per convalidare la baseline, tracciare le modifiche, effettuare audit offline e per l’integrazione con un RMM.
Prerequisito: diritti di amministratore per scrivere in HKEY_LOCAL_MACHINE
Avviso: la modifica del registro di sistema può causare problemi al sistema. Crea un backup prima di procedere.
Passaggi:
- Scegli il percorso del Registro di sistema: (leggi il punto 3 in Aspetti da tenere d’occhio.)
HKEY_LOCAL_MACHINE\SOFTWARE\Org\PerformanceBaseline
- Premi Win + S, cerca PowerShell, fai clic con il pulsante destro del mouse e seleziona Esegui come amministratore.
- Crea la chiave di registro:
New-Item -Path "HKLM:\SOFTWARE\Org\PerformanceBaseline" -Force
- Scrivi i valori della baseline (sostituisci i numeri di esempio con i risultati effettivi della tua baseline):
Set-ItemProperty -Path "HKLM:\SOFTWARE\Org\PerformanceBaseline" -Name "LastCPULoad" -Value 18 -Type DWordSet-ItemProperty -Path "HKLM:\SOFTWARE\Org\PerformanceBaseline" -Name "LastFreeMemoryMB" -Value 4023 -Type DWordSet-ItemProperty -Path "HKLM:\SOFTWARE\Org\PerformanceBaseline" -Name "LastUptimeHours" -Value 72 -Type DWordSet-ItemProperty -Path "HKLM:\SOFTWARE\Org\PerformanceBaseline" -Name "BaselineCaptured" -Value "2025-07-01T10:00Z" -Type String
- Usa script PowerShell o strumenti RMM per popolare e verificare regolarmente questi valori, così da mantenere la baseline sempre aggiornata.
Passaggio 5: pianifica una raccolta periodica con l’Utilità di pianificazione o un RMM
Per mantenere aggiornati i dati della baseline, questo metodo utilizza l’Utilità di pianificazione di Windows o una piattaforma RMM come NinjaOne per impostare una raccolta dati ricorrente e automatizzata.
Casi d’uso: utile per baseline aggiornate in modo continuo, automazione sull’intero parco dispositivi e monitoraggio proattivo.
Prerequisiti:
- Uno script PowerShell funzionante per l’acquisizione della baseline
- Diritti di amministratore sull’endpoint o sul dominio
Istruzioni:
- Crea un’attività pianificata con CMD.
Esempio: pianifica un’acquisizione giornaliera della baseline alle 10:00.
schtasks /create /tn "CapturePerformanceBaseline" /tr "powershell.exe -File C:\Scripts\Capture-Baseline.ps1" /sc daily /st 10:00
Puoi personalizzare i parametri:
/tn– Nome dell’attività/tr– Programma/script da eseguire/sc– Pianificazione (usa/sc weeklyper esecuzioni settimanali)/st– Ora di inizio
(Consulta anche i comandi schtasks nella sezione Comandi di Windows di Microsoft Learn.)
- Usa il motore di scripting e di policy di NinjaOne per:
- Pianificare l’esecuzione dello script con cadenza giornaliera o settimanale
- Caricare i risultati nel repository centrale o allegarli a un ticket
- Generare avvisi se le prestazioni si discostano dalla baseline definita
Con questa configurazione puoi acquisire automaticamente gli snapshot delle prestazioni di ogni dispositivo ogni giorno, ogni settimana o secondo la cadenza che preferisci.
Passaggio 6: applica i Criteri di gruppo per supportare la registrazione delle prestazioni
Questo metodo utilizza gli oggetti Criteri di gruppo (GPO) per abilitare e standardizzare la registrazione delle prestazioni di sistema sui dispositivi Windows aggiunti al dominio.
Casi d’uso: ideale per garantire coerenza a livello di organizzazione, analisi centralizzata delle prestazioni e applicazione rigorosa delle policy. Questo metodo è particolarmente adatto agli ambienti enterprise.
Prerequisiti:
- Dominio Active Directory con Console Gestione Criteri di gruppo (GPMC) installata
- Diritti di amministratore per creare o modificare i GPO
- Modelli predefiniti di Performance Monitor (PerfMon)
Passaggi:
- Premi Win + R, digita gpmc.msc e premi Invio per aprire la Console Gestione Criteri di gruppo (GPMC).
- Crea un nuovo GPO oppure modificane uno esistente collegato alla UO di destinazione. (Leggi il punto 4 in ⚠️ Aspetti da tenere d’occhio.)
- Vai a:
Configurazione del computer > Modelli amministrativi > Sistema > Avvisi e registri di prestazioni
- Abilita le policy necessarie per la raccolta dei dati sulle prestazioni.
- Usa i modelli di Performance Monitor (PerfMon) per definire:
- Set di raccolta dati per CPU, disco e memoria
- Conservazione dei log e limiti di dimensione dei file
- Output su cartella condivisa o disco locale
- I dati sulle prestazioni verranno archiviati in file .blg (Binary Log). Questi file possono essere importati in Performance Monitor per la consultazione oppure usati in Power BI per la visualizzazione e l’analisi dei trend.
In questo modo i log delle prestazioni vengono sempre raccolti, anche se un utente non avvia mai una raccolta manuale.
Aspetti da tenere d’occhio
| Rischi | Possibili conseguenze | Come rimediare |
| 1. Esecuzione di script PowerShell senza diritti di amministratore | Lo script potrebbe non funzionare o la raccolta dati potrebbe risultare incompleta | Riavvia PowerShell come amministratore ed esegui di nuovo lo script di raccolta |
| 2. Controlli con CMD eseguiti durante carichi di lavoro elevati o attività di manutenzione | I risultati potrebbero essere falsati e non rispecchiare le prestazioni normali | Ripeti i controlli con CMD durante i periodi di inattività o nelle fasce di carico di lavoro tipico |
| 3. Percorso del registro di sistema errato o autorizzazioni insufficienti durante l’archiviazione dei valori | I dati della baseline non vengono scritti, rendendo impossibili i confronti futuri | Verifica il percorso del registro di sistema ed esegui lo script con autorizzazioni elevate |
| 4. Applicazione dei Criteri di gruppo alla UO sbagliata o senza un ambito corretto | Le policy potrebbero non essere applicate ai dispositivi previsti o venire applicate a quelli sbagliati | Correggi la UO di destinazione, verifica l’ambito del GPO e forza l’aggiornamento con gpupdate /force |
Considerazioni aggiuntive
Ecco alcuni fattori aggiuntivi che possono influire sull’accuratezza e sull’affidabilità della baseline delle prestazioni degli endpoint:
Coerenza dell’hardware
La baseline di un laptop di fascia alta sarà diversa da quella di un desktop economico o di una virtual machine. Anche all’interno della stessa linea di modelli, i dispositivi più datati possono mostrare prestazioni ridotte. Mescolare hardware diverso falsa le soglie e può generare falsi avvisi.
Raggruppa gli endpoint per classe e anzianità del dispositivo, come descritto nel Passaggio 1. Mantieni baseline separate per ciascuna classe e registra sempre i dettagli dell’hardware nella documentazione della baseline.
Convalida dopo gli aggiornamenti
Gli aggiornamenti importanti di Windows o dei driver possono influire sui tempi di avvio, sull’utilizzo delle risorse e sulle attività in background. Raccogli una nuova baseline dopo questi aggiornamenti e confrontala con la precedente per verificare che le prestazioni non siano peggiorate.
Impatto del comportamento degli utenti
Anche il momento in cui si rileva la baseline è importante. I risultati saranno diversi se la baseline viene acquisita mentre un utente è in videochiamata o ha 30 schede del browser aperte. Pianifica la baseline durante i periodi di inattività noti o nelle fasce di carico di lavoro tipico.
Supporto multisessione
Negli ambienti Remote Desktop Services (RDS) o Virtual Desktop Infrastructure (VDI), dove più utenti condividono lo stesso host, profila le prestazioni per singola sessione e per host. In questo modo le baseline rispecchiano i reali modelli di utilizzo e l’impatto degli utenti simultanei.
Guida rapida
NinjaOne offre diversi modi per creare e monitorare le baseline delle prestazioni degli endpoint:
1. Script di controllo delle prestazioni di sistema
Script: Come eseguire un controllo delle prestazioni di sistema con PowerShell, che:
- Raccoglie i dati sulle prestazioni del sistema: acquisisce le metriche di prestazione di CPU, memoria, disco e rete.
- Monitora i registri eventi: verifica la presenza di errori nei registri eventi Applicazione, Sicurezza, Installazione e Sistema.
- Mostra i punteggi WinSAT: visualizza i punteggi dello strumento di valutazione del sistema Windows.
- Riporta l’ultimo avvio: indica l’ultima volta in cui il dispositivo è stato avviato.
- Salva i risultati: se lo desideri, salva tutti i dati raccolti in un campo personalizzato WYSIWYG per consultarli in seguito.
2. Monitoraggio delle prestazioni integrato
L’utilizzo di CPU e memoria viene monitorato e riportato nella dashboard del dispositivo
- Fornisce dati in tempo reale sullo stato di salute e sulle prestazioni degli endpoint
- Genera avvisi ricchi di contesto
- Permette di creare avvisi personalizzati per i problemi di prestazioni
3. Condizioni relative alle prestazioni
- Permette di creare condizioni personalizzate come la condizione sull’utilizzo della CPU da parte di un processo
- Consente di generare avvisi in base a soglie di prestazione specifiche
Risoluzione dei problemi
Ecco i problemi più comuni che potresti incontrare durante la creazione di una baseline delle prestazioni degli endpoint e come risolverli:
Errori di PowerShell
Lo script potrebbe non funzionare se non viene eseguito con i privilegi necessari. Controlla le autorizzazioni e assicurati di eseguire PowerShell come amministratore.
Un’altra possibile causa è che il servizio Windows Management Instrumentation (WMI) sia disabilitato o danneggiato, dato che molte metriche di prestazione dipendono da esso. Esegui questo comando per verificare se è in esecuzione:
Get-Service winmgmt
Contatori delle prestazioni mancanti
I contatori delle prestazioni di Windows possono talvolta essere rimossi o danneggiarsi, soprattutto dopo aggiornamenti o modifiche al sistema. Per ricostruirli, esegui:
lodctr /r
CPU elevata durante la registrazione
Acquisire troppi contatori a intervalli molto brevi può sovraccaricare il sistema. Riduci il numero di contatori registrati, aumenta l’intervallo di campionamento oppure fai entrambe le cose per abbassare l’utilizzo della CPU durante la raccolta.
Chiavi di registro che non si aggiornano
Gli aggiornamenti del registro di sistema possono non riuscire se lo script non viene eseguito con privilegi elevati o se il percorso del registro è errato. Esegui lo script come amministratore e verifica che il percorso sia corretto:
HKLM:\SOFTWARE\Org\PerformanceBaseline
Servizi NinjaOne
NinjaOne migliora la creazione delle baseline delle prestazioni degli endpoint grazie a:
| Funzionalità | Cosa permette di fare NinjaOne |
| Distribuzione pianificata degli script | Distribuire gli script di raccolta della baseline secondo una pianificazione su tutti i dispositivi. |
| Archiviazione centralizzata dei dati sulle prestazioni | Archiviare i dati sulle prestazioni come campi personalizzati o log per il reporting. |
| Tagging dello stato di salute degli endpoint | Assegnare tag agli endpoint in base allo stato di salute delle prestazioni (ad esempio CPU elevata, RAM insufficiente). |
| Avvisi sugli scostamenti dalle soglie | Inviare avvisi sugli scostamenti dalle soglie in base alla deriva della baseline. |
| Integrazione con business review trimestrali e audit | Integrare i dati nei report di business review trimestrale e di audit per i clienti. |
Con NinjaOne, gli MSP possono creare, mantenere e monitorare le baseline delle prestazioni su tutti i tenant gestiti.
Monitora continuamente le prestazioni degli endpoint dopo aver definito la baseline.
Inizia una prova gratuita di NinjaOne oppure guarda una demo.
Creare baseline per un monitoraggio delle prestazioni degli endpoint efficace
Creare una baseline delle prestazioni con gli strumenti integrati e PowerShell permette agli MSP di individuare i problemi in modo proattivo, ridurre il rumore delle richieste di supporto e verificare lo stato di salute dei sistemi.
In questa guida hai imparato a definire le metriche chiave da includere nella baseline sugli endpoint dei clienti, a raccogliere e registrare i dati sulle prestazioni con PowerShell e i comandi CMD e ad applicare un monitoraggio persistente tramite il registro di sistema e i GPO. Infine, abbiamo visto come NinjaOne può aiutarti ad automatizzare e scalare il monitoraggio delle baseline su tutti i clienti per rafforzare il monitoraggio delle prestazioni degli endpoint.
Argomenti correlati:
