Ripristino matricola

Alle volte, per ragioni legate al registro di Windows, può capitare che un PC perda la matricola. In questo caso, avviando l'applicazione, appare questo errore:

In questi casi la sequenza di comandi necessari a ripristinare la matricola è questa:

  1. Avviare una shell come amministratore
  2. Utilizzare il comando:
Winmgmt.exe /standalonehost

e riavviare il PC. Se la matricola non appare ancora, usare il comando:

Winmgmt.exe /resetrepository

Se la matricola ancora non appare

Su alcune macchine disgraziate (o con BIOS di dubbia provenienza cinese) è possibile che il registro di Windows sia danneggiato in modo irrecuperabile ed il sistema non riesca a recuperare una matricola. In quel caso è sufficiente salvare lo script di seguito riportato in un file chiamato “wmic.cmd” da salvare nella cartella c:\trend. Poi bisogna andare nelle variabili di ambiente di sistema (non quelle dell'utente) ed inserire la directory c:\trend prima di tutte le altre nell'elenco.

Lo script è così costituito:

@echo off
setlocal EnableDelayedExpansion

REM Salva gli argomenti in una singola stringa
set "args=%*"

REM Controlla se gli argomenti sono esattamente "csproduct get UUID"
if /I "!args!"=="csproduct get UUID" (
    REM Impersona il comando solo per questa specifica richiesta
    echo UUID
    echo 123456
) else (
    REM Per tutti gli altri casi, esegui il vero comando WMIC
    REM Utilizziamo il percorso completo per evitare ricorsione
    %SystemRoot%\System32\wbem\wmic.exe %*
)

endlocal
exit /b %ERRORLEVEL%

e restituisce sempre la matricola 123456 che, chiaramente, potete modificare a piacere.

:!: Attenzione ! Questa è l'estrema ratio, non deve essere la norma. Collisioni di matricola fanno disastri negli ordini.