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.
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
Fase | Comando / Azione | Scopo |
---|---|---|
Disinstallare la chiave KMS dal server vecchio | slmgr.vbs /upk slmgr.vbs /cpky | Rimuove 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 nuovo | slmgr.vbs /ipk <CHIAVE-KMS> | Registra la chiave di attivazione sul nuovo host KMS. |
Attivare la chiave con Microsoft | slmgr.vbs /ato | Completa l’attivazione online (o telefonica con il wizard se non c’è connettività). |
Pubblicare/aggiornare il record DNS SRV | Verificare 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>:1688 | Consente ai client di individuare automaticamente l’host KMS corretto. Con SRV i client non richiedono configurazione manuale. |
Verificare che il servizio sia in ascolto | netstat -ano | find ":1688" sc query sppsvc | La porta 1688/TCP deve risultare in LISTEN; il servizio sppsvc deve essere in stato RUNNING. |
Forzare un test di attivazione da un client | slmgr.vbs /ato slmgr.vbs /dlv | Conferma 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.
Controllo | Dettagli | Esito atteso |
---|---|---|
Chiave KMS disponibile | Conserva 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. |
Firewall | Regola in ingresso per 1688/TCP dalle VLAN autorizzate. | Porta aperta solo a reti fidate. |
DNS SRV pianificato | TTL temporaneamente basso (15–60 min) per propagazione rapida. Valuta priorità/weight se coesistono più KMS. | Record pronto o permessi per crearlo. |
Finestra di cambiamento | Comunica la migrazione. Pianifica rollback. | Change approvato. |
Pre‑riscaldamento threshold | Il 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:
Campo | Valore | Note |
---|---|---|
Nome | vlmcs.tcp | Attenzione agli underscore di prefisso. |
Porta | 1688 | Default KMS. |
Target | FQDN del nuovo host (es. kms01.contoso.local ) | Il FQDN deve risolversi a un IP raggiungibile dai client. |
Priority / Weight | 0 / 100 (tipico) | Usa priorità/weight per bilanciare tra più KMS. |
TTL | 900–3600 secondi | Imposta 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
- 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.
- 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. - 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
Sintomo | Causa probabile | Rimedio |
---|---|---|
I client non trovano il KMS | Record 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 raggiunta | Nuovo 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 simili | Immagini clonante senza sysprep, CMID duplicati. | Esegui sysprep /generalize nelle immagini; in emergenza slmgr.vbs /rearm e riattivazione. |
La porta 1688 non è in ascolto | Chiave 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 sbagliato | Record 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
- Conserva il vecchio SRV (o un export) prima del cambio.
- 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).
- Ripristina eventuali client forzati con
/skms
usandoslmgr.vbs /ckms
eipconfig /flushdns
. - 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
- Rimuovi chiave dal vecchio host (
/upk
e opzionale/cpky
) o spegnilo subito. - Installa e attiva la chiave sul nuovo host (
/ipk
+/ato
). - Pubblica/aggiorna
vlmcs.tcp
verso il nuovo host (TTL 15–60 min). - Verifica
sppsvc
e listening su 1688/TCP. - Esegui test di attivazione su client e monitora i log.
- 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
.