In questo articolo andremo a raccogliere una serie di comandi, utilizzabili da PowerShell, per conoscere meglio le singole componenti hardware del nostro computer. Ci sono molti altri sistemi, e programmi, per estrarre lunghi e complicati report che contengono tutte le caratteristiche di un computer, ma proprio per la loro complessità, o per il fatto che non vogliamo installare un programma per avere un singolo dato che ci serve, utilizzeremo la riga di comando di PowerShell.

Modello del pc e serial number del computer

  • Get-WmiObject -Class Win32_ComputerSystem | Select-Object -ExpandProperty Model
  • Get-WmiObject -Class Win32_Bios | Select-Object -ExpandProperty SerialNumber

Come raccogliere informazioni componenti hardware computer PowerShell

Modello e seriale della scheda madre

  • Get-CimInstance -Class Win32_BaseBoard | Format-Table Manufacturer, Product, SerialNumber, Version -Auto

Come raccogliere informazioni componenti hardware computer PowerShell

Versione BIOS

  • get-ciminstance win32_bios | select SMBIOSBIOSVersion,Manufacturer,Name,Version

Come raccogliere informazioni componenti hardware computer PowerShell

Il disco fisso

Il cmdlet Get-PhysicalDisk, oppure Get-PhysicalDisk | ft -AutoSize DeviceId,Model,SerialNumber,MediaType,BusType,@{Name="Size, Gb"; Expression={$_.Size/1Gb}}, ci permette di avere l’elenco dei dischi fissi, la marca e il modello (FriendlyName), il serial number del disco, l’Unspecified che si vede nel MediaType è un vecchio disco Sata che PowerShell non riesce a riconoscere per qualche motivo e anche il BusType.

Come raccogliere informazioni componenti hardware computer PowerShell

Get-Disk x | Format-List mostra tutti i dati del disco fisso in modo dettagliato e ordinato. La X va sostituita con il DeviceId del disco fisso, che vedete nell’immagine precedente, che ci interessa.

Come raccogliere informazioni componenti hardware computer PowerShell

Per vedere i dettagli dei dischi fissi a seconda del tipo di partizione, se GPT o MBR, si possono usare questi due comandi:

  • Get-Disk | Where-Object {$_.PartitionStyle -eq 'GPT'} |Format-list
  • Get-Disk | Where-Object {$_.PartitionStyle -eq 'MBR'} |Format-list

Invece in questo modo vediamo le caratteristiche dei supporti USB collegati in quel momento:

  • Get-Disk | Where-Object {$_.Bustype -Eq 'USB'} |Format-list

Se avete più di un hard disk nel vostro computer, ma non siete sicuri di quale sia il disco di boot che contiene il sistema operativo, potete utilizzare questi due comandi per recuperare l’informazione in maniera veloce o più dettagliata:

  • Get-Disk | Where-Object {$_.IsBoot -eq 'True'}
  • Get-Disk | Where-Object {$_.IsBoot -eq 'True'} | format-list

Come raccogliere informazioni componenti hardware computer PowerShell

memoria RAM

Questi due cmdlet ci permettono di ricavare informazioni sulla memoria RAM installata nel computer:

  • Get-WmiObject -Class Win32_ComputerSystem | select Manufacturer,Model,NumberOfProcessors,@{Expression={$_.TotalPhysicalMemory / 1GB};Label="TotalPhysicalMemoryGB"}
  • Get-WmiObject CIM_PhysicalMemory | Select-Object BankLabel, Manufacturer, PartNumber, SerialNumber, Capacity, Speed, ConfiguredClockSpeed, ConfiguredVoltage

Simile al commando precedente e con qualche informazione in più:

  • Get-CimInstance -ComputerName -ClassName Win32_PhysicalMemory

Come raccogliere informazioni componenti hardware computer PowerShell

Cpu

  • Get-WmiObject CIM_Processor

Come raccogliere informazioni componenti hardware computer PowerShell

Se volete i dettagli completi della vostra CPU usate: Get-WmiObject CIM_Processor | Select-Object *

Scheda video

  • Get-WmiObject -Class Win32_VideoController

Come raccogliere informazioni componenti hardware computer PowerShell

Monitor

I dati, almeno nel mio computer, non sono proprio chiarissimi:

  • Get-WmiObject -Namespace "root\WMI" -Class "WMIMonitorID"

Come raccogliere informazioni componenti hardware computer PowerShell

Il TPM

  • Get-WmiObject -Namespace root/cimv2/security/microsofttpm -Class Win32_TPM

Come raccogliere informazioni componenti hardware computer PowerShell

Schede di rete

  • Get-NetAdapter -Name * visualizza tutte le schede di rete presenti nel computer.
  • Get-NetAdapter -Name "Ethernet" | Format-List -Property * ci mostra tutte le informazioni sulla scheda di rete Ethernet, basta poi cambiare il nome della scheda con quello che abbiamo rilevato con il comando precedente.
  • Get-NetAdapter | Format-List -Property * tutte le informazioni di tutte le schede di rete installate.

Come raccogliere informazioni componenti hardware computer PowerShell

  • Indirizzo IP (Get-WmiObject -Class Win32_NetworkAdapterConfiguration | Where-Object { $_.DefaultIPGateway -ne $null }).IPAddress | Select-Object -First 1
  • Indirizzo MAC Get-WmiObject -Class Win32_NetworkAdapterConfiguration | Where-Object { $_.DefaultIPGateway -ne $null } | Select-Object -ExpandProperty MACAddress

Scheda audio

  • Get-CimInstance win32_sounddevice
  • Get-CimInstance win32_sounddevice | fl * elenco di tutte le caratteristiche per tutte le schede audio.

Come raccogliere informazioni componenti hardware computer PowerShell

Stampanti

  • Get-Printer elenca tutte le stampanti configurate
  • Get-Printer -Name "*Samsung*" | Format-List ci mostra le caratteristiche di una singola stampante. Se non vogliamo scrivere un Name piuttosto lungo, basta utilizzarne una parte e mettere gli asterischi per completare i caratteri.

Come raccogliere informazioni componenti hardware computer PowerShell

Tastiera e mouse

  • Get-CimInstance -ClassName Win32_Keyboard -Property * informazioni sulla tastiera.
  • Get-CimInstance win32_POINTINGDEVICE informazioni sul mouse.

Come raccogliere informazioni componenti hardware computer PowerShell

Conclusioni

Se conoscete qualche altro comando utile per estrarre dati relativi a una singola componente hardware, o mi sono dimenticato qualche pezzo del computer, siete liberi di segnalarli nei commenti. Riguardo ai dati visualizzati dai vari comandi non tutti sono molto chiari, o molto utili, ho voluto lasciarli lo stesso perché magari nel vostro computer avrete maggiore fortuna.