Migrazione del server KMS Windows senza downtime: guida completa passo‑passo

Devi ritirare un vecchio server KMS e metterne in produzione uno nuovo senza interrompere l’attivazione di Windows in azienda? In questa guida pratica trovi una procedura passo‑passo, best practice DNS, sicurezza, verifica e troubleshooting, con comandi pronti da copiare.

Indice

Sintesi del problema

Un amministratore deve dismettere un host KMS (Key Management Service) ormai obsoleto e sostituirlo con uno nuovo. L’obiettivo è garantire che server e workstation Windows continuino ad attivarsi senza interruzioni, chiarendo anche se occorra rimuovere la Product Key dal server che va in pensione e quale servizio Windows fornisca il ruolo KMS.

  • Risposta rapida: la rimozione della chiave KMS dal vecchio host non è strettamente obbligatoria se viene spento o formattato subito, ma è fortemente consigliata per evitare risposte KMS indesiderate e collisioni DNS.
  • Servizio utilizzato: KMS non è un demone separato; si appoggia al Software Protection Platform Service (sppsvc). Quando è presente una chiave KMS valida, il servizio ascolta sulla porta 1688/TCP.

Panoramica della soluzione

La migrazione prevede: rimozione chiave dal vecchio host (opzionale ma raccomandata), installazione e attivazione chiave sul nuovo host, pubblicazione/aggiornamento del record DNS SRV vlmcs.tcp, verifica del servizio, test da client e hardening del perimetro.

Schema sintetico passo‑passo

FaseComando / AzioneScopo
Disinstallare la chiave KMS dal server vecchioslmgr.vbs /upk slmgr.vbs /cpkyRimuove la chiave dal sistema (e dalla registry cache), prevenendo risposte KMS indesiderate. Consigliato per evitare collisioni DNS o riaccensioni accidentali.
Installare la chiave KMS sul server nuovoslmgr.vbs /ipk <CHIAVE-KMS>Registra la chiave di attivazione sul nuovo host KMS.
Attivare la chiave con Microsoftslmgr.vbs /atoCompleta l’attivazione online (o telefonica con il wizard se non c’è connettività).
Pubblicare/aggiornare il record DNS SRVVerificare o creare vlmcs.tcp.<dominio> che punti all’FQDN/IP del nuovo host. TTL consigliato 15–60 min. Se non si usa SRV, configurare i client: slmgr.vbs /skms <nuovo_fqdn>:1688Consente ai client di individuare automaticamente l’host KMS corretto. Con SRV i client non richiedono configurazione manuale.
Verificare che il servizio sia in ascoltonetstat -ano | find ":1688" sc query sppsvcLa porta 1688/TCP deve risultare in LISTEN; il servizio sppsvc deve essere in stato RUNNING.
Forzare un test di attivazione da un clientslmgr.vbs /ato slmgr.vbs /dlvConferma che il nuovo host risponde, aggiorna il counter di attivazioni e mostra lo stato dettagliato del client.

Checklist di preparazione

Prima del “taglio”, esegui queste verifiche per minimizzare i rischi.

ControlloDettagliEsito atteso
Chiave KMS disponibileConserva Product Key e Activation ID in cassaforte/password manager.Key pronta e tracciata.
ConnettivitàNuovo host con uscita Internet o linea telefonica per attivazione. DNS e NTP corretti.Risoluzione, ora e gateway ok.
FirewallRegola in ingresso per 1688/TCP dalle VLAN autorizzate.Porta aperta solo a reti fidate.
DNS SRV pianificatoTTL temporaneamente basso (15–60 min) per propagazione rapida. Valuta priorità/weight se coesistono più KMS.Record pronto o permessi per crearlo.
Finestra di cambiamentoComunica la migrazione. Pianifica rollback.Change approvato.
Pre‑riscaldamento thresholdIl KMS risponde solo oltre soglia: ≥25 client desktop o ≥5 server. Valuta di dirottare temporaneamente un sottoinsieme di client sul nuovo host per raggiungerla.Strategia definita.

Procedura dettagliata di migrazione

Rimuovere la chiave sul server da dismettere (consigliato)

Se il vecchio host verrà spento e azzerato subito, potresti saltare la rimozione. Tuttavia, per evitare riaccensioni accidentali o risposte KMS “fantasma”, è buona pratica eseguire:

slmgr.vbs /upk
slmgr.vbs /cpky

Inoltre, se il server resta acceso per altri ruoli, elimina o disabilita il record DNS SRV vlmcs.tcp che lo punta, oppure blocca la porta 1688 in firewall su quell’host.

Installare e attivare la chiave sul nuovo host

slmgr.vbs /ipk <CHIAVE-KMS>
slmgr.vbs /ato

Se l’attivazione online non è possibile, avvia la procedura telefonica tramite l’interfaccia grafica (Change product key > Activate by phone) oppure usa il wizard di attivazione. In alternativa, per ambienti enterprise puoi gestire le chiavi anche tramite VAMT (Volume Activation Management Tool).

Pubblicare o aggiornare il record DNS SRV

Gli host KMS pubblicano (se hanno i permessi) il record SRV vlmcs.tcp.<dominio> che indica ai client dove contattare il servizio (porta 1688). In domini Active Directory, la registrazione automatica spesso avviene al momento dell’installazione della chiave.

Se serve creare o aggiornare manualmente il record SRV, imposta i seguenti campi:

CampoValoreNote
Nomevlmcs.tcpAttenzione agli underscore di prefisso.
Porta1688Default KMS.
TargetFQDN del nuovo host (es. kms01.contoso.local)Il FQDN deve risolversi a un IP raggiungibile dai client.
Priority / Weight0 / 100 (tipico)Usa priorità/weight per bilanciare tra più KMS.
TTL900–3600 secondiImposta 15–60 min durante la migrazione, poi aumenta.

Per verificare il record:

nslookup -type=srv vlmcs.tcp.<dominio>

Verificare che il servizio KMS sia attivo

sc query sppsvc
netstat -ano | find ":1688"
in PowerShell:
Get-NetTCPConnection -LocalPort 1688

Se la porta non è in ascolto, ricontrolla l’installazione/attivazione della chiave e le regole del firewall di Windows (Key Management Service dovrebbe essere presente come regola in ingresso).

Eseguire test dai client

Su un client Windows, verifica la scoperta via SRV e prova ad attivare:

nslookup -type=srv vlmcs.tcp.<dominio>
slmgr.vbs /ato
slmgr.vbs /dlv

Se non utilizzi SRV o vuoi indirizzare un sottoinsieme di client per “pre-riscaldare” il nuovo host fino al raggiungimento della soglia, imposta temporaneamente il target KMS manuale:

slmgr.vbs /skms kms01.contoso.local:1688
slmgr.vbs /ato
slmgr.vbs /ckms   # per ripristinare la scoperta via SRV

Come funziona KMS: soglia, rinnovi e scadenze

  • Soglia minima: un host KMS inizia a rilasciare attivazioni dopo aver ricevuto almeno 25 richieste da sistemi client (Windows Pro/Enterprise/EDU) oppure 5 da server (Windows Server). Le soglie sono indipendenti per famiglia di prodotto. In ambienti piccoli valuta Active Directory‑Based Activation (ADBA) o chiavi MAK.
  • Durata attivazione: l’attivazione KMS su un client è valida per 180 giorni. I client si rinnovano automaticamente ogni 7 giorni (in caso di errore riprovano circa ogni 2 ore) senza intervento umano.
  • GVLK: i client KMS devono avere installata una Generic Volume License Key (di norma già presente nelle immagini Volume License). Non confondere la GVLK del client con la KMS Host Key che installi sul server.

Strategie di migrazione senza downtime

  1. Coesistenza temporanea: pubblica il nuovo host con priorità più alta o weight maggiore mantenendo il vecchio attivo. I client distribuiranno le richieste; quando la soglia è raggiunta, rimuovi il vecchio.
  2. Pre‑riscaldamento mirato: lascia il record SRV puntare al vecchio host, ma imposta /skms su 5–10% dei client (per VLAN, OU o sito) verso il nuovo, fino al raggiungimento della soglia. Poi migra il SRV.
  3. TTL basso: prima del cambio, abbassa il TTL del record SRV a 15–60 min per accelerare la convergenza DNS. Dopo la migrazione rialzalo (es. 4–8 ore).

Sicurezza e hardening

  • Segmentazione: consenti 1688/TCP solo da reti fidate (server, VDI, postazioni gestite). Blocca reti guest o non gestite.
  • DNS controllato: delega al team DNS il diritto di aggiornare vlmcs.tcp. Evita credenziali ad ampio privilegio sui DC ai server KMS.
  • Audit: registra le modifiche al record SRV e conserva log di attivazione su Event Viewer (Microsoft > Windows > Security‑SPP e Software Protection Platform).
  • Backup chiave e dati: conserva chiave KMS e Activation ID in un vault sicuro; documenta host autorizzati e contatti di licenza.

Verifica, monitoraggio e reportistica

Oltre a slmgr.vbs /dlv sui client, sul KMS host puoi ispezionare lo stato:

slmgr.vbs /dlv all
slmgr.vbs /dli

Per metriche di base, esamina i log in Event Viewer sotto i canali Security‑SPP e Key Management Service. In ambienti ampi, VAMT può inventariare lo stato di attivazione via WMI/PowerShell.

Troubleshooting: errori e rimedi

SintomoCausa probabileRimedio
I client non trovano il KMSRecord SRV assente/errato, DNS suffix non corrispondente, firewall chiuso.Verifica nslookup -type=srv vlmcs.tcp.<dominio>, correggi DNS, apri 1688/TCP, usa temporaneamente /skms.
Errore di soglia non raggiuntaNuovo KMS non ha ancora visto abbastanza client/server.Dirotta un gruppo di client col comando slmgr.vbs /skms per “pre‑riscaldare”.
“Product activated but not genuine” o similiImmagini clonante senza sysprep, CMID duplicati.Esegui sysprep /generalize nelle immagini; in emergenza slmgr.vbs /rearm e riattivazione.
La porta 1688 non è in ascoltoChiave non installata, sppsvc non in esecuzione, regola firewall mancante.Reinstalla/attiva la chiave; avvia sppsvc; aggiungi regola in ingresso 1688/TCP.
Client puntati all’host sbagliatoRecord SRV ancora in cache, TTL alto, override /skms rimasto.Riduci TTL prima del taglio, svuota cache DNS (ipconfig /flushdns), ripristina slmgr.vbs /ckms.

Domande frequenti

Devo rimuovere la Product Key dal server che sto ritirando?

Non è obbligatorio se il server viene spento o formattato immediatamente. Tuttavia, rimuovere la chiave con slmgr.vbs /upk (e /cpky) è consigliabile: impedisce future risposte KMS casuali, evita confusione e mantiene l’ambiente pulito. Ricordati anche di rimuovere l’eventuale record SRV che lo puntava.

Quale servizio Windows fornisce KMS?

Il ruolo KMS è implementato dal Software Protection Platform Service (sppsvc), già presente in Windows Server e Windows client. Quando una KMS Host Key è installata e attiva, sppsvc ascolta su 1688/TCP ed espone le API di attivazione.

Posso avere più host KMS per alta affidabilità?

Sì. Puoi pubblicare più target nel record vlmcs.tcp con priorità e weight diversi. I client sceglieranno automaticamente un host. È una strategia utile durante la migrazione e per l’HA. Assicurati di rispettare i termini di licenza della tua KMS Host Key.

Quando conviene ADBA al posto di KMS?

In domini Active Directory moderni, Active Directory‑Based Activation elimina la dipendenza da un host dedicato: i client si attivano contro i DC senza soglia minima e senza record SRV. È ottimo per ambienti ristretti o molto distribuiti. Valuta però i requisiti di versione di sistema e schema AD.

Esempi e script utili

PowerShell per record SRV (DNS Server Tools)

# Esegui sul DNS server (modifica dominio/host/TTL)
Add-DnsServerResourceRecordSrv `
  -Name "vlmcs.tcp" `
  -DomainName "contoso.local" `
  -Target "kms01.contoso.local" `
  -Port 1688 -Priority 0 -Weight 100 `
  -TimeToLive (New-TimeSpan -Minutes 30)

Controllo stato client su larga scala (esempio)

# Esempio orientativo: inventaria lo stato slmgr su un set di host
$computers = Get-Content .\lista-client.txt
foreach ($c in $computers) {
  Invoke-Command -ComputerName $c -ScriptBlock {
    cscript.exe //Nologo C:\Windows\System32\slmgr.vbs /dlv
  } | Out-File -FilePath ".\report-$c.txt"
}

Firewall Windows: aprire 1688 solo alle VLAN fidate

# Esempio: consenti 1688 in profilo Domain da subnet 10.20.0.0/16
New-NetFirewallRule -DisplayName "KMS 1688 Inbound" `
  -Direction Inbound -Protocol TCP -LocalPort 1688 `
  -Action Allow -Profile Domain -RemoteAddress 10.20.0.0/16

Piano di rollback

  1. Conserva il vecchio SRV (o un export) prima del cambio.
  2. Se la migrazione fallisce, ripristina il record SRV verso il vecchio host e riapri la porta 1688 sul firewall del vecchio server (se l’avevi chiusa).
  3. Ripristina eventuali client forzati con /skms usando slmgr.vbs /ckms e ipconfig /flushdns.
  4. Documenta l’incidente e i passi correttivi.

Note operative e raccomandazioni finali

  • Documentazione: registra host, IP, FQDN, chiavi usate, date di attivazione e contatti del fornitore.
  • Change Management: comunica la finestra, imposta monitoraggio e avvisi per errori di attivazione.
  • Manutenzione: rivedi periodicamente il TTL del record SRV e l’assetto delle priorità se aggiungi o rimuovi host KMS.
  • Immagini gold: assicurati che le immagini VDI/PC includano GVLK corrette; esegui sysprep per evitare CMID duplicati.
  • Coerenza NTP: orologi sfasati causano errori di attivazione. Mantieni NTP allineato tra client, KMS e DC.

Conclusioni

Seguendo questo runbook, la transizione da un vecchio host KMS a uno nuovo avviene senza downtime: rimuovi (o isoli) la chiave dal server dismesso, installa e attiva la chiave sul nuovo, pubblica correttamente il record DNS vlmcs.tcp e verifica la porta 1688 gestita da sppsvc. Con soglia, hardening e procedure di test ben impostate, i client continueranno ad attivarsi in modo trasparente.


Appendice: comandi di riferimento

Server KMS

# Installazione e attivazione chiave
slmgr.vbs /ipk <CHIAVE-KMS>
slmgr.vbs /ato

Stato dettagliato di tutte le licenze

slmgr.vbs /dlv all

Disinstallazione chiave e pulizia cache

slmgr.vbs /upk
slmgr.vbs /cpky

Controllo servizio e listening

sc query sppsvc
netstat -ano | find ":1688"

Client

# Attivazione e diagnostica
slmgr.vbs /ato
slmgr.vbs /dli
slmgr.vbs /dlv

Forzare / ripristinare server KMS

slmgr.vbs /skms :1688
slmgr.vbs /ckms

Test DNS SRV

nslookup -type=srv vlmcs.tcp.

Pulizia cache e rearm (solo se necessario)

ipconfig /flushdns
slmgr.vbs /rearm

Riepilogo operativo

  1. Rimuovi chiave dal vecchio host (/upk e opzionale /cpky) o spegnilo subito.
  2. Installa e attiva la chiave sul nuovo host (/ipk + /ato).
  3. Pubblica/aggiorna vlmcs.tcp verso il nuovo host (TTL 15–60 min).
  4. Verifica sppsvc e listening su 1688/TCP.
  5. Esegui test di attivazione su client e monitora i log.
  6. Alza il TTL, rimuovi il vecchio SRV e chiudi 1688 sul vecchio server.

Con questi passaggi, la migrazione KMS è sicura, ripetibile e priva di downtime percepito per gli utenti.

Dettagli e note supplementari chiave

  • Rimozione della chiave dal server dismesso: non indispensabile se il server è spento o rimosso dalla rete immediatamente dopo la migrazione; eseguire slmgr.vbs /upk riduce però il rischio che rimanga registrato in DNS o che venga riacceso per errore, causando conflitti.
  • Servizio utilizzato: KMS si appoggia a sppsvc. Nessun servizio dedicato da installare separatamente.
  • Quota minima (threshold): ≥25 client desktop o ≥5 server prima che l’host inizi a rilasciare attivazioni. In ambienti ristretti considera ADBA o MAK.
  • Hardening: limita 1688/TCP alle VLAN affidate, controlla la delega DNS per vlmcs.tcp, conserva in luogo sicuro chiave KMS e Activation ID.

Adottando queste pratiche, i client troveranno il nuovo host tramite DNS SRV o, se configurati manualmente, con slmgr.vbs /skms.

Indice