Introduzione
Quando un tecnico si trova a reinstallare Windows su un PC OEM (assemblato di fabbrica da HP, Dell, Lenovo, Acer, ecc.) capita spesso di non avere più a disposizione l’adesivo con la product key, oppure di trovarsi davanti a un’etichetta ormai illeggibile per l’usura. Da Windows 8 in poi, però, il produttore non deve più stampare la chiave su un’etichetta: la chiave viene “bruciata” direttamente nel firmware UEFI del computer, secondo lo standard OA3 (OEM Activation 3.0).
Questo articolo spiega cos’è la chiave OA3, dove si trova, come recuperarla con un comando PowerShell e quali sono i limiti pratici di questa tecnica.
Il comando
powershell
(Get-WmiObject -query 'select * from SoftwareLicensingService').OA3xOriginalProductKey
Eseguito in una sessione PowerShell con privilegi di amministratore, questo comando restituisce (se presente) la product key a 25 caratteri con cui il produttore ha attivato quella specifica macchina in fabbrica.
Variante equivalente con CIM (più moderna, Get-WmiObject è deprecato dalle versioni recenti di PowerShell):
powershell
(Get-CimInstance -query 'select * from SoftwareLicensingService').OA3xOriginalProductKey
Equivalente da riga di comando classica (CMD), oggi deprecato ma ancora funzionante su molti sistemi:
cmd
wmic path softwarelicensingservice get OA3xOriginalProductKey
Come funziona: dove “vive” davvero la chiave
La classe WMI SoftwareLicensingService non genera la chiave, si limita a leggerla da un punto ben preciso: la tabella ACPI MSDM (Microsoft Data Management), scritta dal produttore nel firmware UEFI della scheda madre al momento dell’assemblaggio.
Punti chiave da sapere:
- Solo Windows 8/8.1/10/11 OEM. Il meccanismo OA3 è nato con Windows 8. I PC con Windows 7 preinstallato usavano lo standard precedente (SLIC 2.1) e la chiave era spesso presente solo sull’etichetta fisica (COA sticker), non nel firmware in questo formato.
- La chiave è quella “di fabbrica”, non necessariamente quella visibile con
slmgr /dlvdopo l’installazione: Windows 8/10/11 attivato tramite OA3 spesso mostra una chiave OEM “generica” (una delle chiavi pubbliche standard usate per il digital fingerprint), mentre la chiave reale specifica del produttore resta memorizzata nella tabella MSDM e va estratta con il comando visto sopra. - Indipendente dal sistema operativo installato. Anche formattando il disco e installando Windows da zero, la tabella MSDM resta nel firmware: per questo il comando funziona anche su un disco vergine, purché sia rimasto lo stesso hardware.
- Legata all’hardware, non alla licenza digitale. Dal punto di vista Microsoft, oggi la vera “prova di attivazione” per Windows 10/11 è il digital license legato all’account Microsoft o al fingerprint hardware; la chiave OA3 resta comunque utile come riferimento e per reinstallazioni pulite senza account online.
Perché è utile in ambito professionale
Per un consulente IT che gestisce parco macchine misto (come nel caso di interventi field service o IMAC conto terzi), questo comando risolve situazioni molto comuni:
- Etichetta COA assente o illeggibile — su notebook usati intensamente l’adesivo si stacca o si scolorisce.
- Reinstallazione pulita post-malware — prima di formattare, è buona norma esportare la chiave per poterla eventualmente reinserire manualmente durante il setup, evitando dipendenze da account Microsoft.
- Verifica di autenticità/tracciabilità — utile in fase di collaudo di macchine usate o rigenerate, per confermare che la licenza installata corrisponda a quella di fabbrica.
- Documentazione di parco macchine — utile per creare un inventario centralizzato delle licenze, soprattutto in ambienti aziendali con decine di postazioni.
Script pratico: esportazione su file
Per un uso più operativo, ecco uno script che raccoglie la chiave insieme ad alcune informazioni identificative della macchina e le salva in un file di log, utile per creare uno storico durante un giro di manutenzione su più PC:
powershell
$computerName = $env:COMPUTERNAME
$oa3Key = (Get-CimInstance -query 'select * from SoftwareLicensingService').OA3xOriginalProductKey
$biosInfo = Get-CimInstance -ClassName Win32_BIOS
$osInfo = Get-CimInstance -ClassName Win32_OperatingSystem
$report = [PSCustomObject]@{
Computer = $computerName
Produttore = $biosInfo.Manufacturer
Modello = (Get-CimInstance -ClassName Win32_ComputerSystem).Model
SistemaOper = $osInfo.Caption
OA3ProductKey = if ($oa3Key) { $oa3Key } else { "NON PRESENTE (probabile Windows 7 o hardware non OEM)" }
DataRilievo = Get-Date -Format "dd/MM/yyyy HH:mm"
}
$report | Export-Csv -Path "C:\Temp\licenze_oa3.csv" -Append -NoTypeInformation -Encoding UTF8
$report
Lo script si può lanciare in remoto su più PC (ad esempio tramite Invoke-Command su una lista di hostname, oppure integrato in tool di deployment come Action1) per costruire rapidamente un inventario licenze su un intero parco macchine.
Reinserire la chiave recuperata
Una volta ottenuta la chiave, per applicarla a un’installazione di Windows si usa:
cmd
slmgr /ipk XXXXX-XXXXX-XXXXX-XXXXX-XXXXX
slmgr /ato
Il primo comando installa la product key, il secondo forza il tentativo di attivazione online contro i server Microsoft.
Limiti e avvertenze
- Se il risultato è vuoto, la macchina non ha una tabella MSDM valida: è tipico di PC assemblati (no OEM), macchine con Windows 7 preinstallato, o firmware BIOS legacy non UEFI.
- Su macchine virtuali il comando quasi sempre restituisce un valore nullo, perché non c’è un vero OEM che ha scritto la tabella ACPI (fanno eccezione VM clonate da un’immagine OEM che hanno “ereditato” via passthrough la tabella ACPI dell’host, situazione comunque rara e non standard).
- Non sostituisce il backup della licenza digitale: per Windows 10/11 collegato a un account Microsoft, il metodo più robusto per il ripristino resta comunque l’associazione dell’account, che sopravvive anche a un cambio di disco.
- Uso legittimo: il comando legge semplicemente informazioni già presenti nel proprio hardware/firmware; è la stessa logica sfruttata da strumenti grafici di terze parti (es. ShowKeyPlus), che di fatto interrogano la stessa classe WMI.
Conclusioni
Il comando (Get-WmiObject -query 'select * from SoftwareLicensingService').OA3xOriginalProductKey è uno strumento semplice ma potente per chi gestisce assistenza e reinstallazioni su PC OEM: permette di recuperare in pochi secondi una chiave che altrimenti richiederebbe di rintracciare scatole, adesivi o documentazione d’acquisto ormai perse. Va però sempre accompagnato dalla consapevolezza dei suoi limiti, in particolare sulle macchine non OEM, sulle VM e sui sistemi Windows 7 legacy.
Articolo tecnico a cura di Docline Service & Networking (docsnet.it)