- PowerShell consente di consultare i dati di sistema come CPU, RAM, BIOS, dischi e rete.
- Cmdlet come Get-CimInstance e Get-WmiObject sono fondamentali per ottenere queste informazioni.
- L'inventario remoto dei computer può essere automatizzato con script personalizzati.
- Esistono più classi WMI che espongono i dettagli tecnici dell' hardware e sistema operativo.

Se usi Windows e desideri ottenere informazioni tecniche dal tuo computer o da altri dispositivi in rete, PowerShell è uno strumento potente che probabilmente hai già installato. Con solo pochi comandi È possibile accedere a tutti i tipi di dettagli su sistema operativo, hardware, BIOS, processore, RAM e unità disco. Non solo, è anche possibile automatizzare questa raccolta su più dispositivi contemporaneamente. Vediamo come farlo da zero e in modo completo.
PowerShell consente l'accesso ai dati di sistema utilizzando WMI (Strumentazione gestione Windows) e la sua evoluzione più moderna, CIM (Modello Informativo Comune)Entrambe le tecnologie espongono informazioni sotto forma di classi, un aspetto che PowerShell comprende molto bene grazie alla sua gestione degli oggetti. Qui imparerai come interrogare queste classi con semplici comandi.
Ottieni informazioni di base con Get-ComputerInfo
Uno dei cmdlet più semplici da utilizzare per accedere ai dati di sistema è Get-ComputerInfoQuesto comando visualizza una vasta gamma di proprietà in pochi secondi, tra cui la versione di Windows, l'edizione, il tipo di installazione, le informazioni sul BIOS, l'architettura, il nome del computer e molto altro.
Esegui semplicemente:
Get-ComputerInfo
Se è necessario filtrare in base a proprietà specifiche, è possibile utilizzare il parametro -Property seguito da una stringa o da caratteri jolly:
Get-ComputerInfo -Property "*version"
Verranno visualizzate solo le proprietà relative alle versioni del sistema.
Interroga l'hardware con Get-WmiObject e Get-CimInstance
Più Ottieni-Informazioni sul computer, i cmdlet Get-WmiObject y Get-CimInstance Sono i favoriti da ottenere informazioni hardware dettagliate e accurate.
Dati del processore
Per visualizzare informazioni complete sul processore, puoi utilizzare:
Get-WmiObject -Class Win32_Processor
Questo comando restituisce parametri quali velocità massima, produttore, numero di core fisici e logici, nome del processore e ID del socket.
Puoi anche vedere solo alcuni valori chiave:
Get-WmiObject Win32_Processor | Select Name, NumberOfCores, NumberOfLogicalProcessors
Oppure la frequenza esatta che separa il valore di nome:
((Get-WmiObject Win32_Processor).name).split("@")
RAM installata
Controllare la RAM fisica del tuo computer è altrettanto semplice:
Get-WmiObject CIM_PhysicalMemory | Select BankLabel, Manufacturer, Capacity, Speed
Per conoscere il importo totale installato in GB:
$ram = Get-WmiObject CIM_PhysicalMemory | Select-Object -ExpandProperty Capacity | Measure-Object -Sum
$ram.Sum / 1GB
Memoria cache e moduli
Per informazioni sui livelli di cache:
Get-WmiObject Win32_CacheMemory | Select DeviceID, MaxCacheSize
E per maggiori dettagli tecnici:
Get-WmiObject Win32_PhysicalMemoryArray
Ottieni i dati del BIOS e della scheda madre
Classe Win32_BIOS fornisce informazioni chiave come produttore, versione e numero di serie:
Get-CimInstance -ClassName Win32_BIOS
Per estrarre solo il numero di serie:
Get-WmiObject Win32_BIOS | Select-Object -ExpandProperty SerialNumber
E se hai bisogno di vedere la scheda madre:
Get-WmiObject Win32_BaseBoard
Dati del sistema operativo
Più Ottieni-Informazioni sul computer, puoi anche usare Win32_OperatingSystem per visualizzare proprietà dettagliate come:
- Costruiamo
- Tipo di sistema
- versione
- Numero di utenti registrati
Ad esempio:
Get-CimInstance -ClassName Win32_OperatingSystem | Select BuildNumber, BuildType, OSType, ServicePack*
Se vuoi solo sapere chi è l'utente registrato:
Get-CimInstance -ClassName Win32_OperatingSystem | Select RegisteredUser
Spazio su disco rigido
Per vedere quanto spazio occupato e libero c'è sui tuoi dischi fisici:
Get-CimInstance -ClassName Win32_LogicalDisk -Filter "DriveType=3"
Per vedere lo spazio libero totale:
Get-CimInstance -ClassName Win32_LogicalDisk -Filter "DriveType=3" | \
Measure-Object -Property FreeSpace,Size -Sum | \
Select-Object Property,Sum
Utenti, sessioni e rete
Con queste query potrai vedere quali utenti sono attivi o hanno effettuato l'accesso di recente:
Get-CimInstance -ClassName Win32_ComputerSystem -Property UserName
È anche possibile visualizzare le sessioni di accesso:
Get-CimInstance -ClassName Win32_LogonSession
E naturalmente, i dati di rete:
Get-NetAdapter -Physical | Where-Object { $_.Status -eq 'Up' }
Per visualizzare l'indirizzo IP e lo stato delle interfacce, nonché le impostazioni avanzate, è possibile consultare risorse specifiche di PowerShell, ad esempio Come impostare i limiti dei dati in Windows.
Monitorare i servizi e il TPM
Per vedere quali servizi sono attivi e il loro stato:
Get-CimInstance -ClassName Win32_Service | Select Status, Name, DisplayName
E se usi un chip TPM e vuoi ottenere i loro dati:
Get-WmiObject -Namespace root/cimv2/security/microsofttpm -Class Win32_TPM
Automatizzare la raccolta dati su più computer
È anche possibile realizzare a inventario completo di più pezzi di attrezzatura in rete. Una funzione come Get-Inventory Puoi controllare quali squadre sono online con Test-Connection, quindi eseguire più query WMI su ciascuno di essi, memorizzando i dati in un file CSV. Per fare ciò, potrebbe essere utile consultare questa risorsa su Come integrare i dati di Excel con Power BI.
Questa è la soluzione ideale per gli amministratori di sistema che gestiscono ambienti di medie o grandi dimensioni.
PowerShell coniuga flessibilità con straordinarie capacità di ispezione di sistemi e hardware. Puoi ottenere dettagli molto tecnici o valori chiave che facilitano la gestione e la diagnosi. Inoltre, l'automazione di questi processi consente di mantenere inventari aggiornati e di condurre audit rapidamente, con un notevole risparmio di tempo e fatica.
Scrittore appassionato del mondo dei byte e della tecnologia in generale. Adoro condividere le mie conoscenze attraverso la scrittura, ed è quello che farò in questo blog, mostrarti tutte le cose più interessanti su gadget, software, hardware, tendenze tecnologiche e altro ancora. Il mio obiettivo è aiutarti a navigare nel mondo digitale in modo semplice e divertente.
