Come ottenere informazioni sul sistema e sull'hardware con PowerShell in Windows

Ultimo aggiornamento: 05/06/2025
Autore: Isaac
  • 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.

powershell

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.

Vedi File di sistema nascosti in Windows 10
Articolo correlato:
Come visualizzare i dati di sistema nascosti in Home Windows 10

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.

  Come abilitare Windows Sonic in Windows 11: guida completa e suggerimenti

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
competenza
Articolo correlato:
Come utilizzare Microsoft Purview: una guida completa per proteggere e gestire i dati

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.

vittoria
Articolo correlato:
Come usare Winhance su Windows 11: una guida completa per ottimizzare il tuo sistema