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
Modello e seriale della scheda madre
Get-CimInstance -Class Win32_BaseBoard | Format-Table Manufacturer, Product, SerialNumber, Version -Auto
Versione BIOS
get-ciminstance win32_bios | select SMBIOSBIOSVersion,Manufacturer,Name,Version
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.
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.
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
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
Cpu
Get-WmiObject CIM_Processor
Se volete i dettagli completi della vostra CPU usate: Get-WmiObject CIM_Processor | Select-Object *
Scheda video
Get-WmiObject -Class Win32_VideoController
Monitor
I dati, almeno nel mio computer, non sono proprio chiarissimi:
Get-WmiObject -Namespace "root\WMI" -Class "WMIMonitorID"
Il TPM
Get-WmiObject -Namespace root/cimv2/security/microsofttpm -Class Win32_TPM
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.
- 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.
Stampanti
Get-Printer
elenca tutte le stampanti configurateGet-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.
Tastiera e mouse
Get-CimInstance -ClassName Win32_Keyboard -Property *
informazioni sulla tastiera.Get-CimInstance win32_POINTINGDEVICE
informazioni sul mouse.
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.