La verifica del firmware su Windows passa dai metadati di sistema, non da un menu nascosto
Se devi controllare il firmware di un PC Windows 11 o Windows 10 dal Prompt dei comandi, la cosa da chiarire subito è questa: il firmware non viene gestito come un normale programma installato. In pratica, dal sistema operativo leggi versione, data e a volte produttore esposti da Windows attraverso WMI, PowerShell o strumenti equivalenti. Non stai “entrando nel BIOS” dal prompt, stai interrogando il sistema per capire quale firmware è in uso.
Questo approccio è utile in assistenza, inventario, troubleshooting e verifica post-update. Ti evita di aprire schermate UEFI a mano, ti permette di confrontare più macchine in modo uniforme e, soprattutto, ti dà un punto di partenza quando devi capire se un problema dipende da un BIOS vecchio, da un vendor tool non allineato o da un aggiornamento non applicato.
Il comando più diretto dal Prompt dei comandi
Dal Prompt dei comandi puoi usare wmic per leggere la versione BIOS/firmware. Su molte macchine Windows 10 e 11 il comando più immediato è questo:
wmic bios get smbiosbiosversion, manufacturer, releasedate
Il risultato tipico mostra tre campi: il produttore, la data di rilascio e la versione SMBIOS del BIOS. Esempio di output:
Manufacturer ReleasedDate SMBIOSBIOSVersion
Dell Inc. 20240214000000.000000+000 1.18.0
Se il comando restituisce una versione sensata, hai già il dato principale. Se invece wmic non è disponibile o è limitato dalla build, passa direttamente a PowerShell richiamato dal Prompt. È la strada più robusta sulle installazioni recenti.
Quando wmic non basta: PowerShell lanciato dal Prompt
Windows 11 ha ereditato molta compatibilità, ma non conviene legarsi troppo a wmic. Se vuoi un controllo più affidabile, dal Prompt puoi eseguire PowerShell in linea. Il vantaggio è che ottieni oggetti strutturati e puoi selezionare solo i campi utili.
powershell -NoProfile -Command "Get-CimInstance Win32_BIOS | Select-Object SMBIOSBIOSVersion, Manufacturer, ReleaseDate | Format-List"
Questo comando interroga la classe Win32_BIOS e restituisce la versione del firmware esposta a Windows. Su alcuni sistemi vedrai una data in formato CIM, non in formato leggibile. Va bene così: il punto è che il dato c’è e puoi normalizzarlo dopo, se serve, in uno script o in inventario.
Se vuoi una lettura ancora più ampia, utile quando il vendor espone più componenti firmware, puoi aggiungere anche informazioni sulla scheda madre:
powershell -NoProfile -Command "Get-CimInstance Win32_BaseBoard | Select-Object Manufacturer, Product, Version | Format-List"
Non è il firmware in senso stretto, ma aiuta a distinguere una piattaforma da un’altra quando fai assistenza su flotte miste o macchine OEM con naming poco leggibile.
Che cosa stai davvero verificando
Quando leggi la versione del firmware da Windows, stai controllando il livello UEFI/BIOS installato sulla macchina. In molti casi il dato è sufficiente per rispondere a tre domande pratiche:
- la macchina monta una revisione vecchia o recente del firmware;
- l’aggiornamento del vendor è stato applicato oppure no;
- il problema che osservi può essere correlato a fix noti rilasciati dal produttore.
Qui c’è un dettaglio importante: la versione letta da Windows non ti dice sempre tutto. Alcuni vendor mostrano stringhe molto chiare, altri usano formati interni poco intuitivi. Su certi modelli la SMBIOSBIOSVersion coincide con il numero commerciale del firmware, su altri no. Se stai facendo verifica operativa, confronta sempre il dato letto dal sistema con la pagina supporto del produttore, non con un’interpretazione a occhio.
Confronto con il firmware installato nel menu UEFI
Il controllo dal Prompt è comodo, ma la conferma finale resta il menu UEFI o la schermata di setup del firmware. Questo vale soprattutto quando stai validando un update eseguito da tool del vendor, da Windows Update o da un pacchetto distribuito in azienda.
La verifica corretta è semplice:
- leggi la versione da Windows con
wmico PowerShell; - annota il numero esatto, senza tradurlo mentalmente;
- confrontalo con la versione indicata nel setup UEFI o nella documentazione del produttore;
- se le versioni non combaciano, verifica se il PC ha più moduli firmware o se l’update è stato solo scaricato e non installato al riavvio.
In ambienti dove il firmware si aggiorna tramite utility vendor, il numero mostrato dal sistema operativo spesso è il primo indice di successo, ma non sostituisce il controllo del vendor. Un laptop può riportare una nuova versione in Windows e avere ancora un messaggio di sospensione finché non completa il ciclo di reboot e scrittura NVRAM.
Verifica rapida anche senza aprire il Prompt come amministratore
Per leggere la versione del firmware non servono di norma privilegi elevati. Questo è utile quando hai accesso limitato alla macchina o devi ispezionare un endpoint senza alterarne lo stato. Il dato è informativo, non modifica nulla.
Se vuoi una sequenza pratica, usa prima il comando più semplice e poi passa al metodo strutturato solo se necessario:
wmic bios get smbiosbiosversion
Se il risultato è vuoto o incompleto, passa a:
powershell -NoProfile -Command "Get-CimInstance Win32_BIOS | Select-Object SMBIOSBIOSVersion | Format-List"
Questa progressione ha un vantaggio operativo: riduce il rumore. Prima provi il comando più corto, poi usi quello più compatibile. In assistenza su più brand, questa differenza si vede subito.
Quando il dato non appare o sembra incoerente
Se non ottieni un valore utile, il problema di solito non è “il firmware invisibile”, ma uno di questi casi:
- il comando usato non è supportato nella build corrente;
- l’output è stato filtrato male in una console con lingua o formato non atteso;
- il vendor espone una stringa non standard;
- stai leggendo un layer diverso, come baseboard o release del sistema, e lo stai confondendo con il BIOS.
Per capire dove si rompe la catena, fai una verifica minima e leggibile. Questo comando ti dice se Windows sta rispondendo correttamente alla classe BIOS:
powershell -NoProfile -Command "Get-CimInstance Win32_BIOS | Format-List *"
Se qui vedi proprietà valorizzate, il problema non è il sistema ma il modo in cui stavi filtrando l’output. Se invece la classe è vuota o fallisce, hai un indizio più forte su WMI, permessi locali, repository danneggiato o un ambiente troppo degradato per una query affidabile.
Perché questa verifica è utile in troubleshooting reale
Nella pratica, il firmware entra in gioco più spesso di quanto sembri. Ci sono casi in cui una versione BIOS vecchia causa problemi con NVMe, gestione energetica, docking station, Secure Boot, TPM o stabilità della sospensione. In altri scenari il firmware non è la causa diretta, ma è il primo elemento da escludere quando un vendor ha pubblicato fix specifici.
Per esempio, su una flotta di notebook con instabilità in wake-from-sleep, leggere la versione firmware da Windows ti permette di separare subito i sistemi aggiornati da quelli rimasti indietro. Senza questo dato, finisci a inseguire sintomi generici: driver, alimentazione, profili energia, periferiche USB. Con il dato in mano, la triage diventa molto più pulita.
Lo stesso vale negli ambienti con supporto remoto. Se l’utente non sa entrare nel setup UEFI o non vuoi chiedergli di farlo, il Prompt o PowerShell ti danno una risposta rapida e non invasiva. È una delle poche verifiche hardware che puoi fare in modo quasi standardizzato da remoto, purché il sistema risponda e la sessione abbia il minimo necessario per eseguire comandi locali.
Un controllo più preciso per inventario e audit
Se il tuo obiettivo non è solo “sapere la versione”, ma costruire un inventario affidabile, conviene produrre un output più pulito. Dal Prompt puoi richiamare PowerShell e stampare solo i campi utili in formato tabellare o CSV. Questo è più sensato quando devi confrontare decine o centinaia di macchine.
powershell -NoProfile -Command "Get-CimInstance Win32_BIOS | Select-Object Manufacturer, SMBIOSBIOSVersion, ReleaseDate | Export-Csv -NoTypeInformation -Path C:\Temp\bios.csv"
Se preferisci solo la visualizzazione a schermo, puoi usare una riga più asciutta:
powershell -NoProfile -Command "Get-CimInstance Win32_BIOS | Select-Object Manufacturer, SMBIOSBIOSVersion, ReleaseDate | Format-Table -AutoSize"
In audit, il punto non è accumulare più dati possibile. È avere il dato giusto, leggibile e confrontabile. Il firmware serve proprio a questo: fissare una baseline, riconoscere i sistemi fuori standard e capire se un aggiornamento ha davvero raggiunto tutte le macchine previste.
Limiti da tenere presenti su Windows 11 e 10
Ci sono alcune limitazioni da non ignorare. La prima è che il firmware non è sempre rappresentato con la stessa nomenclatura su tutti i produttori. La seconda è che Windows mostra il dato esposto dal layer firmware/WMI, non una lettura diretta “grezza” del chip. La terza è che il numero letto non dice nulla, da solo, su eventuali impostazioni interne come Secure Boot, TPM abilitato o modalità legacy/UEFI, che vanno controllate separatamente.
Se ti serve verificare anche lo stato di alcune opzioni firmware, non fermarti alla versione. Per esempio, puoi affiancare controlli come:
- stato Secure Boot con strumenti di sistema;
- presenza TPM e versione del modulo;
- modalità di avvio UEFI o legacy;
- eventi di update firmware nei log di Windows Update o del vendor.
Questo evita un errore comune: considerare “firmware verificato” come sinonimo di “asset completamente conforme”. La versione è solo un pezzo del quadro.
La sequenza pratica che conviene usare sul campo
Se devi fare una verifica veloce e ripetibile, la sequenza che funziona meglio è questa:
- apri il Prompt dei comandi;
- esegui
wmic bios get smbiosbiosversion, manufacturer, releasedate; - se il risultato non è chiaro, usa
powershell -NoProfile -Command "Get-CimInstance Win32_BIOS | Select-Object SMBIOSBIOSVersion, Manufacturer, ReleaseDate | Format-List"; - confronta il valore con la pagina supporto del vendor;
- se stai verificando un update, riavvia e ricontrolla dopo il boot completo.
Questa procedura è semplice, ma evita due errori frequenti: fidarsi di una stringa letta male e considerare concluso un update prima del riavvio effettivo. In ambienti con molti endpoint, sono proprio questi dettagli a fare la differenza tra un controllo utile e un dato ambiguo.
Se il tuo obiettivo è documentare il firmware per assistenza o inventario, annota sempre il modello macchina insieme alla versione. Il numero da solo, fuori contesto, rischia di essere poco utile. Il binomio modello-plus-versione è quello che permette un confronto serio con la matrice di compatibilità del produttore.
Commenti (0)
Nessun commento ancora.
Segnala contenuto
Elimina commento
Eliminare definitivamente questo commento?
L'azione non si può annullare.