Se Windows 11 risponde che wmic non è riconosciuto, potrebbe non esserci nulla da riparare. Microsoft ha eliminato il vecchio comando: ecco come sostituirlo con PowerShell e cosa fare se un programma continua a richiederlo.
Hai trovato una guida che ti dice di aprire il Prompt dei comandi e digitare qualcosa come:
wmic bios get serialnumber
oppure:
wmic memorychip get speed
ma Windows 11 risponde che wmic non è riconosciuto come comando interno o esterno.
Fino a poco tempo fa, una delle soluzioni più comuni era reinstallare WMIC dalle Funzionalità facoltative di Windows oppure utilizzare DISM.
Sui Windows 11 aggiornati, però, questo consiglio può essere ormai superato.
Microsoft ha infatti completato la rimozione dell’utilità Windows Management Instrumentation Command-line, cioè wmic.exe, dalle versioni supportate di Windows 11.
Con gli aggiornamenti Preview di agosto 2026 per Windows 11 24H2 e 25H2, WMIC non è più disponibile neppure come normale Feature on Demand.
Quindi la prima cosa da sapere è questa:
se wmic non funziona su un Windows 11 aggiornato, non significa automaticamente che Windows sia danneggiato. Il comando potrebbe semplicemente non esistere più sul sistema.
WMIC non è riconosciuto su Windows 11: cosa è cambiato

WMIC non è stato eliminato all’improvviso.
Microsoft aveva iniziato a deprecarlo anni fa, preparando progressivamente il passaggio verso strumenti più moderni.
Il percorso è stato sostanzialmente questo:
| Periodo | Situazione di WMIC |
|---|---|
| Windows 10 | WMIC viene deprecato |
| Windows 11 22H2 | disponibile come Feature on Demand e normalmente presente |
| Windows 11 23H2/24H2 | progressivamente disabilitato per impostazione predefinita |
| Windows 11 25H2 iniziale | poteva essere rimosso durante l’upgrade ma reinstallato |
| Agosto 2026 | eliminato dalle versioni Windows 11 supportate e rimosso anche dalle Feature on Demand |
| Windows 11 26H1 | WMIC già assente |
La conseguenza pratica è molto semplice.
Una vecchia guida potrebbe dirti:
premi Win+R, digita cmd e usa WMIC.
Su un PC aggiornato nel 2026 quella procedura può interrompersi immediatamente con un errore.
Perché reinstallare WMIC dalle Funzionalità facoltative può non funzionare più

È qui che moltissime guide disponibili online stanno diventando obsolete.
Per diverso tempo WMIC poteva essere aggiunto nuovamente come Feature on Demand, anche tramite DISM.
Potresti quindi trovare ancora procedure che suggeriscono comandi simili a:
DISM /Online /Add-Capability /CapabilityName:WMIC~~~~
Questa soluzione aveva senso quando Microsoft distribuiva ancora WMIC come funzionalità facoltativa.
Con la rimozione introdotta nel 2026, però, WMIC non è più disponibile come normale Feature on Demand sulle versioni interessate.
Se quindi:
- WMIC non compare nelle Funzionalità facoltative;
- DISM non riesce ad aggiungerlo;
- una guida dice semplicemente di reinstallarlo;
non è necessariamente un problema del tuo PC.
Potresti semplicemente utilizzare una versione di Windows sulla quale Microsoft ha ormai rimosso quel percorso di installazione.
WMIC e WMI non sono la stessa cosa
Questa distinzione è fondamentale.
Microsoft non ha eliminato Windows Management Instrumentation.
Ha eliminato soltanto il programma a riga di comando wmic.exe utilizzato per interrogare WMI.
Possiamo immaginare WMI come l’infrastruttura che espone informazioni sul sistema operativo, sull’hardware, sui processi e su moltissimi altri componenti.
WMIC era semplicemente uno dei modi per interrogarla.
In pratica:
WMI → esiste ancora
wmic.exe → rimosso
Per questo i dati che prima recuperavi con WMIC continuano nella maggior parte dei casi a essere accessibili tramite PowerShell e i cmdlet CIM.
Cosa usare al posto di WMIC
La soluzione consigliata da Microsoft è soprattutto PowerShell.
Per le nuove procedure conviene utilizzare i cmdlet CIM, in particolare:
Get-CimInstance
Invoke-CimMethod
Microsoft mostra per esempio questo vecchio comando:
wmic path win32_process get Name
sostituito da:
Get-CimInstance Win32_Process | Select-Object Name
Il risultato logico è lo stesso: stai interrogando le informazioni fornite da WMI, ma senza passare per wmic.exe.
Vecchi comandi WMIC e alternative PowerShell

Questa è probabilmente la parte più utile se sei arrivato qui seguendo una vecchia guida.
Numero seriale del PC
Vecchio comando:
wmic bios get serialnumber
PowerShell:
(Get-CimInstance Win32_BIOS).SerialNumber
Windows interroga sempre la classe Win32_BIOS, semplicemente attraverso CIM invece di WMIC.
Marca e modello del computer
Vecchio approccio WMIC:
wmic computersystem get manufacturer,model
PowerShell:
Get-CimInstance Win32_ComputerSystem | Select-Object Manufacturer, Model
È utile quando devi identificare con precisione un notebook o un PC preassemblato.
Versione del BIOS
Puoi utilizzare:
Get-CimInstance Win32_BIOS | Select-Object Manufacturer, SMBIOSBIOSVersion, ReleaseDate
Otterrai informazioni come produttore, versione del BIOS e data della release.
RAM installata e velocità
Molte guide usano ancora:
wmic memorychip get capacity,speed
L’equivalente moderno può essere:
Get-CimInstance Win32_PhysicalMemory | Select-Object BankLabel, Capacity, Speed, ConfiguredClockSpeed
Attenzione però alla differenza fra Speed e ConfiguredClockSpeed.
Il primo valore descrive la velocità riportata dal modulo, mentre ConfiguredClockSpeed può essere più utile per capire la frequenza alla quale la memoria risulta configurata.
Per una verifica veloce della RAM puoi inoltre utilizzare Gestione attività > Prestazioni > Memoria, senza necessità di PowerShell.
Processi in esecuzione
Vecchio WMIC:
wmic process get name,processid
PowerShell:
Get-CimInstance Win32_Process | Select-Object Name, ProcessId
Microsoft utilizza proprio Win32_Process come esempio della migrazione da WMIC a PowerShell.
Informazioni sui dischi
Puoi utilizzare:
Get-CimInstance Win32_DiskDrive | Select-Object Model, InterfaceType, Size
Il valore Size viene normalmente restituito in byte, quindi può essere necessario convertirlo se vuoi una lettura immediata in GB o TB.
Questa è una differenza importante rispetto a molte vecchie guide che presentavano output già selezionati secondo le proprie esigenze.
Tabella rapida: cosa stavi cercando di fare?
| Operazione | Vecchio WMIC | Soluzione consigliata |
|---|---|---|
| numero seriale PC | wmic bios get serialnumber | (Get-CimInstance Win32_BIOS).SerialNumber |
| modello PC | wmic computersystem get manufacturer,model | Get-CimInstance Win32_ComputerSystem |
| versione BIOS | wmic bios | Get-CimInstance Win32_BIOS |
| RAM e velocità | wmic memorychip | Get-CimInstance Win32_PhysicalMemory |
| processi | wmic process | Get-CimInstance Win32_Process |
| dischi | wmic diskdrive | Get-CimInstance Win32_DiskDrive |
Questa è la strada che conviene seguire quando controlli tu il comando o lo script.
Ma esiste un secondo scenario molto diverso.
Un programma richiede proprio wmic.exe: PowerShell potrebbe non bastare

Supponiamo che il problema non sia una vecchia guida.
Potresti avere un software professionale, un installer, uno script aziendale o un vecchio file .bat che lancia esplicitamente:
wmic.exe
In questo caso non puoi semplicemente digitare manualmente il comando PowerShell equivalente.
Il programma si aspetta che l’eseguibile WMIC sia fisicamente presente.
Con la rimozione definitiva da Windows 11 questo può provocare:
- installazioni che falliscono;
- script che si interrompono;
- programmi che non riescono a identificare l’hardware;
- strumenti di amministrazione legacy che restituiscono errori;
- workflow aziendali che smettono di funzionare dopo un aggiornamento.
La prima soluzione dovrebbe essere controllare se il produttore ha pubblicato una versione aggiornata del software.
Se esiste, aggiorna il programma.
Il ripristino di WMIC dovrebbe essere considerato soltanto una misura temporanea.
Microsoft permette ancora di reinstallare WMIC, ma solo come soluzione temporanea
Qui c’è una distinzione importante rispetto alle vecchie Funzionalità facoltative.
Microsoft ha pubblicato una mitigazione temporanea ufficiale destinata alle applicazioni, agli script e ai workflow che dipendono ancora da WMIC.
Il pacchetto si chiama:
wmic_dlc.zip
Non è però il ritorno della vecchia Feature on Demand.
Microsoft avverte esplicitamente che questa soluzione non deve essere considerata sicura o adatta al lungo periodo e invita ad abbandonarla non appena possibile.
Va quindi usata solo quando esiste una reale incompatibilità che impedisce di lavorare.
Come installare il pacchetto temporaneo WMIC di Microsoft
Utilizza esclusivamente il pacchetto distribuito direttamente da Microsoft.
Dopo aver scaricato wmic_dlc.zip dalla documentazione ufficiale:
- estrai il file ZIP in una cartella;
- apri PowerShell come amministratore;
- entra nella cartella
wmic_dlcestratta; - esegui:
Set-ExecutionPolicy Bypass -Scope Process
- conferma la modifica se PowerShell lo richiede;
- esegui:
.\install.ps1
Al termine lo script dovrebbe indicare che WMIC è stato installato correttamente.
Microsoft spiega che lo script copia i file necessari in:
C:\Windows\System32\wbem
e registra gli alias necessari.
Per controllare puoi quindi provare:
wmic
Se il programma legacy che prima non funzionava riprende a funzionare, hai confermato che la sua dipendenza era proprio wmic.exe.
Ma non fermarti qui.
Questa deve essere considerata una pezza temporanea, non la soluzione definitiva.
Perché Microsoft sconsiglia di mantenere il pacchetto WMIC

Microsoft ha rimosso WMIC proprio perché si tratta di un componente legacy.
Reintrodurlo permanentemente significa mantenere una dipendenza da una tecnologia che non farà più parte delle normali installazioni Windows.
La soluzione corretta varia in base al caso:
software commerciale: chiedere o installare una versione aggiornata;
script aziendale: migrare da WMIC a PowerShell/CIM;
vecchio file batch: richiamare PowerShell direttamente dal .bat;
guida online: sostituire il comando WMIC con una procedura moderna.
La compatibilità temporanea serve soprattutto a guadagnare il tempo necessario per fare questa migrazione.
Un file BAT usa WMIC: devo riscrivere tutto?

Non necessariamente.
Microsoft conferma che PowerShell può essere richiamato anche da un normale Prompt dei comandi o da uno script batch.
Per esempio puoi eseguire:
powershell -c "<comando>"
Questo permette di sostituire gradualmente le istruzioni WMIC mantenendo eventualmente la struttura principale del file .bat.
Se un vecchio script contiene:
wmic path win32_process get Name
puoi quindi progettare la sostituzione attraverso PowerShell invece di cercare di mantenere WMIC per sempre.
Per script nuovi utilizzerei direttamente PowerShell.
Get-WmiObject funziona ancora?
Potresti trovare guide che suggeriscono:
Get-WmiObject
e su alcuni sistemi il comando continua effettivamente a funzionare.
Non lo sceglierei però come soluzione principale per una nuova guida.
Microsoft indica che i vecchi cmdlet PowerShell WMI sono a loro volta deprecati e non sono disponibili in PowerShell 6 e versioni successive.
Per il nuovo codice Microsoft raccomanda i cmdlet CIM.
Quindi, quando possibile:
Get-CimInstance
è preferibile a:
Get-WmiObject
È un dettaglio importante se stai sostituendo WMIC proprio per evitare di costruire oggi una procedura che dovrà essere nuovamente corretta domani.
WMIC manca dalle Funzionalità facoltative: è normale?
Sì, sulle versioni Windows 11 interessate dalla rimozione del 2026.
Questa situazione non indica necessariamente:
- file di sistema corrotti;
- Windows Update danneggiato;
- problemi al PATH;
- funzionalità Windows mancanti.
Microsoft ha eliminato WMIC anche dalla disponibilità come Feature on Demand.
Quindi cercare ripetutamente WMIC nelle Funzionalità facoltative potrebbe non portare a nulla semplicemente perché non deve più esserci.
Modificare PATH può risolvere “wmic non riconosciuto”?
Solo in scenari molto particolari nei quali wmic.exe esiste ancora fisicamente e il problema riguarda realmente la variabile PATH.
Su un Windows 11 aggiornato dove WMIC è stato rimosso, aggiungere:
C:\Windows\System32\wbem
al PATH non ricrea il programma.
Prima di modificare qualsiasi variabile controlla se esiste realmente:
C:\Windows\System32\wbem\WMIC.exe
Se il file non è presente perché Microsoft lo ha rimosso, il PATH non è il problema.
Non scaricare wmic.exe da siti casuali
Questo è probabilmente il consiglio più importante se hai bisogno di un vecchio programma.
Non cercare su Google:
wmic.exe download
per poi copiare un eseguibile trovato su un sito sconosciuto dentro System32.
Non consiglierei neppure di:
- copiare WMIC e DLL da un altro computer;
- utilizzare pacchetti Feature on Demand recuperati da fonti non ufficiali;
- installare file
.regcasuali; - forzare vecchi componenti Windows;
- disabilitare permanentemente le protezioni PowerShell.
Se devi mantenere temporaneamente WMIC, usa esclusivamente la mitigazione distribuita ufficialmente da Microsoft.
WMIC non funziona dopo l’aggiornamento: cosa fare in ordine
Se sei arrivato qui perché una vecchia procedura ha smesso di funzionare, seguirei questo ordine.
- Controlla la versione di Windows 11.
- Verifica cosa volevi ottenere con WMIC.
- Se era semplicemente un comando informativo, sostituiscilo con PowerShell/CIM.
- Se WMIC viene chiamato da un tuo script, migra lo script.
- Se viene richiesto da un programma di terze parti, cerca prima un aggiornamento del produttore.
- Utilizza
wmic_dlc.zipsolamente se devi ripristinare temporaneamente la compatibilità. - Pianifica comunque l’eliminazione della dipendenza da WMIC.
È molto diverso dal vecchio consiglio:
“WMIC non c’è? Reinstallalo.”
Nel 2026 Microsoft sta dicendo sostanzialmente l’opposto:
“WMIC non c’è più: migra. Reinstallalo temporaneamente soltanto quando non hai ancora un’alternativa.”
WMIC è sparito, ma Windows non ha perso quelle funzioni
Questo è il punto centrale.
La rimozione di wmic.exe non significa che Windows 11 non possa più mostrare:
- numero seriale;
- modello del computer;
- BIOS;
- memoria RAM;
- processi;
- dischi;
- informazioni hardware e di sistema.
Sono dati forniti dalla sottostante infrastruttura WMI, che continua a essere supportata.
È cambiato il modo consigliato per interrogarli.
Per una vecchia guida puoi quindi cercare quale classe WMIC veniva utilizzata e convertirla in una query PowerShell basata su Get-CimInstance.
Se invece un’applicazione dipende direttamente dall’eseguibile wmic.exe, la situazione è diversa: aggiorna il software quando possibile e considera il pacchetto Microsoft soltanto una soluzione di compatibilità temporanea.
È questa distinzione che evita di perdere tempo tentando di “riparare” un comando che Microsoft ha intenzionalmente rimosso.