Per gli amici: “Il trucco definitivo“. Lo scenario è quello composto da un PC riassegnato sul quale era stato precedentemente attivato Office 2013 (sottoscrizione 365) con un utente che è stato eliminato da Exchange e che quindi lascerà scoperta la copertura della licenza. Inutile provare a disconnettere e riconnettere l’utente, non servirà a nulla, Office continuerà a lamentarsi del mancato stato di attivazione della licenza e voi crederete nella disinstallazione e reinstallazione come unica alternativa papabile. Sbagliato.
Vi avevo già parlato in passato di come si resetta una licenza di Office (il quale vi riproporrà così il prompt per l’inserimento del Product Key e conseguente attivazione al successivo avvio) qualche tempo fa, ma sfortunatamente il metodo non funziona con Office 2013 Pro Plus le sottoscrizioni Office 365:
In questo caso la Powershell torna ancora una volta utile quanto l’acqua nel deserto e tramite uno script tanto semplice quanto efficace riuscirete a fare reset della licenza che vi permetterà così di far comparire il tanto voluto popup per l’inserimento delle credenziali aziendali che vi faranno da licenza per Office.
Assicuratevi che la vostra Powershell possa eseguire script non firmati (il Set-ExecutionPolicy Unrestricted, date un’occhiata a questo mio articolo), copiate e salvate questo codice in un file ps1:
# store the license info into an array | |
$license = cscript ‘C:\Program Files\Microsoft Office\Office15\OSPP.VBS’ /dstatus | |
#license name from /dstatus | |
$o365 = “OfficeO365ProPlusR_Subscription1 edition” | |
#loop till the end of the array searching for the $o365 string | |
for ($i=0; $i -lt $license.Length; $i++){ | |
if ($license[$i] -match $o365){ | |
$i += 6 #jumping six lines to get to the product key line in the array, check output of dstatus and adjust as needed for the product you are removing | |
$keyline = $license[$i] # extra step but i would rather deal with the variable as a string than an array, could be removed i guess, efficiency is not my concern | |
$prodkey = $keyline.substring($keyline.length – 5, 5) # getting the last 5 characters of the line (prodkey) | |
} | |
} | |
#removing the key from the workstation | |
cscript ‘C:\Program Files\Microsoft Office\Office15\OSPP.VBS’ /unpkey:$prodkey |
Oppure salvate direttamente il file PS1 disponibile facendo clic qui. Lo script è stato pubblicato da “johndoe26” lo scorso 5 gennaio nei commenti di un articolo di SpiceWorks e ancora oggi funziona perfettamente:
Una vera manna dal cielo che vi evita lunghe attese per reinstallare il prodotto o cercare chissà quale chiave di registro per scatenare nuovamente l’evento di attivazione di licenza ;-)
L'articolo potrebbe non essere aggiornato
Questo post è stato scritto più di 5 mesi fa, potrebbe non essere aggiornato. Per qualsiasi dubbio ti invito a lasciare un commento per chiedere ulteriori informazioni! :-)