Hai un record DNS vlmcs.tcp
che punta a un vecchio host KMS e vuoi passare a un modello di attivazione più moderno e resiliente con Active Directory‑Based Activation (ADBA)? In questa guida trovi la strategia completa: pulizia del DNS, introduzione di ADBA, impatti su MAK/KMS esistenti e gestione dei client offline.
Panoramica del problema
In molte infrastrutture Windows mature, la presenza di un record SRV vlmcs.tcp
obsoleto in DNS può generare ambiguità operative. I client volume‑licensed (Windows Server 2016/2019 e client Windows) spesso non mostrano subito avvisi di attivazione perché:
- Canale ancora impostato su KMS: nei sistemi Windows Server 2016/2019 il canale VOLUMEKMSWS16_channel risulta ancora presente; questo mantiene l’attivazione valida finché dura il periodo di rinnovo.
- Chiave di backup nel Registro: alcuni client possono utilizzare la chiave di backup
BackupProductKeyDefault
inHKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform
.
Obiettivo: eliminare il record SRV orfano, introdurre ADBA come meccanismo primario di attivazione, garantire continuità ai dispositivi già attivati e assicurare conformità per quelli che restano offline oltre 180 giorni.
È sicuro rimuovere il record DNS vlmcs.tcp
?
Sì, a patto di seguire un ordine operativo preciso:
- Metti in funzione ADBA nell’ambiente (creazione degli Activation Objects in AD).
- Verifica che i client di destinazione siano joinati al dominio e utilizzino una GVLK (Generic Volume License Key) compatibile con ADBA.
- Assicurati che nessun sistema dipenda ancora esclusivamente dal vecchio host KMS (ad esempio con
slmgr /skms
puntato a un FQDN non più esistente).
Con ADBA, i dispositivi idonei si attivano contro Active Directory al momento del logon, senza necessità del record SRV vlmcs.tcp
né dell’apertura della porta 1688 verso un host KMS tradizionale. La rimozione del record esclude che i client provino a contattare un host inesistente, riducendo time‑out e log di errore.
KMS tradizionale vs ADBA: cosa cambia davvero
- KMS tradizionale: richiede almeno un KMS host raggiungibile sulla porta 1688; i client scoprono l’host via DNS (
vlmcs.tcp
) o con configurazione manuale (slmgr /skms
). Esiste una soglia minima di attivazioni (25 client o 5 server). È sensibile a problemi DNS e alla disponibilità dell’host. - ADBA: non prevede un host “singolo” da raggiungere. L’attivazione avviene tramite oggetti pubblicati in AD, quindi i client domain‑joined e con GVLK si attivano automaticamente, di norma al logon o al refresh della licenza. Non necessita del record SRV e non soffre di soglie minime.
In scenari ibridi, i client moderni joinati al dominio tentano ADBA; in assenza di oggetti validi possono ripiegare su KMS (se configurato). Questa caratteristica consente una migrazione graduale e a basso rischio.
Soluzione operativa passo‑passo
Obiettivo | Azioni/Dettagli | Effetto atteso |
---|---|---|
Eliminare il record vlmcs.tcp obsoleto | Apri DNS Manager → Forward Lookup Zones → zona interessata. Individua vlmcs.tcp → Delete. Replica su tutte le DNS zone pertinenti (se multi‑sito/forest) e svuota eventuali cache (ipconfig /flushdns sui client sensibili). | Evita che i client cerchino un host KMS che non esiste più. |
Distribuire il nuovo meccanismo ADBA | Installa il ruolo Volume Activation Services su un server idoneo. Esegui il wizard Volume Activation Tools e scegli Active Directory‑Based Activation. Immetti e registra le nuove chiavi KMS host (CSVLK) per i prodotti supportati; il wizard pubblica gli Activation Objects in AD. Non è necessaria alcuna modifica manuale ai record DNS. | I dispositivi domain‑joined con GVLK troveranno ADBA in AD e si attiveranno automaticamente. |
Gestire i dispositivi con MAK | I PC/Server già attivati con MAK continuano a usare la MAK finché non li si converte. Non rilevano né usano automaticamente ADBA/KMS. Per passare ad ADBA/KMS: distribuisci la GVLK corretta (via GPO o script) e, se necessario, rimuovi eventuale /skms precedente. | Nessun impatto immediato; continuità garantita fino a conversione esplicita. |
Gestire i dispositivi con chiave KMS esistente | Se erano attivati verso il vecchio host, restano attivi finché la validità non richiede rinnovo. Al successivo tentativo di rinnovo (default ogni 7 giorni), senza record SRV e host non raggiungibile, i client domain‑joined tenteranno ADBA, se presente. Se ADBA non è disponibile e non esiste un nuovo host KMS, partirà il periodo di grazia fino all’avviso di non genuine. | Transizione trasparente se ADBA è operativo prima della rimozione del record SRV. |
Laptop/PC offline > 180 giorni | Con KMS/ADBA la validità è 180 giorni; i client tentano il rinnovo ogni 7 giorni (e in caso di esito negativo ritentano con frequenza crescente). Dopo 180 giorni senza contatto, passano allo stato unlicensed con periodo di tolleranza (~30 giorni) e notifiche persistenti. Per dispositivi raramente connessi valuta di mantenere MAK o imporre una connessione periodica via VPN/on‑prem. | Linee guida chiare per la mobilità e il lavoro remoto. |
Prerequisiti e checklist prima di rimuovere vlmcs.tcp
- Controller di dominio: almeno un DC moderno (Windows Server 2012 o successivo) per supportare ADBA e gli Activation Objects.
- Ambito: conferma quali prodotti attiverai con ADBA (Windows Server/Client, eventuale Office supportato).
- GVLK: predisponi chiavi GVLK corrette per i vari sistemi operativi (Server/Client) da distribuire via GPO o script.
- Inventario: identifica macchine con
slmgr /skms
impostato (dipendenza da KMS manuale) e quelle attivate con MAK. - Comunicazione: informa gli utenti mobili di connettersi alla rete aziendale o VPN almeno ogni 180 giorni.
- Rollback: prepara un piano di ripristino del record SRV (vedi più avanti) in caso di necessità.
Diagnostica rapida: comandi che userai spesso
slmgr /dlv
: mostra lo stato di licenza dettagliato (canale, ID, scadenze, host raggiunto, ecc.).cscript %windir%\system32\slmgr.vbs /ato
: forza un tentativo di attivazione immediato.nslookup -type=all vlmcs.tcp.<dominio>
: verifica la presenza del record SRV in DNS.slmgr /xpr
: verifica la scadenza dello stato di licenza (utile per distinguere MAK vs KMS/ADBA in uso).slmgr /skms <host:porta>
/slmgr /ckms
: imposta o cancella la configurazione KMS puntata a un host specifico.
Script e automazione: esempi pratici
Distribuire GVLK e forzare ADBA via PowerShell
Converte in massa macchine MAK o KMS “legacy” a un modello ADBA. Esegui come amministratore (ad esempio in uno Startup Script di GPO) e adatta la GVLK al sistema operativo.
# Esempio: conversione a GVLK e attivazione
$gvlk = "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX" # sostituisci con la GVLK corretta per l'OS
Rimuovi eventuale puntamento SKMS legacy
cscript.exe //Nologo $env:windir\system32\slmgr.vbs /ckms
Installa la GVLK
$cim = Get-CimInstance -ClassName SoftwareLicensingService
Invoke-CimMethod -InputObject $cim -MethodName InstallProductKey -Arguments @{ProductKey=$gvlk} | Out-Null
Tenta l'attivazione (se il computer è joinato al dominio e ADBA è presente, si attiverà contro AD)
cscript.exe //Nologo $env:windir\system32\slmgr.vbs /ato
Inventario del canale di attivazione
Un frammento per capire rapidamente cosa c’è in giro: MAK, KMS o ADBA (per i client ADBA vedrai GVLK e canale volume‑licensed).
Get-CimInstance -ClassName SoftwareLicensingProduct `
| Where-Object { $.Name -like "Windows*" -and $.PartialProductKey } `
| Select-Object PSComputerName, Name, Description, LicenseStatus, PartialProductKey
Ripristino/ricreazione rapida del record SRV (rollback)
Se necessario, puoi ripristinare vlmcs.tcp
(ad esempio in emergenza o in ambienti misti). Sostituisci i segnaposto con i tuoi valori.
# Esempio dnscmd su un DNS server:
dnscmd <DNSServer> /recordadd <ZonaDNS> vlmcs.tcp SRV 0 0 1688 kmshost.<dominio>
Oppure con PowerShell (DnsServer module):
Add-DnsServerResourceRecord -Srv -Name "vlmcs.tcp" -DomainName "<ZonaDNS>" `
-Priority 0 -Weight 0 -Port 1688 -Target "kmshost.<dominio>"
Domande chiave e risposte
La rimozione del record SRV può far comparire errori immediati?
Se ADBA è operativo e i dispositivi hanno GVLK (o non sono obbligati a un host /skms
), no. I client si attiveranno tramite Active Directory. Se un sottoinsieme di macchine dipende ancora da KMS, pianifica per loro un passaggio intermedio (nuovo host KMS o GVLK+ADBA) prima di rimuovere il record.
Cosa succede ai dispositivi già attivati con MAK?
Nulla, rimangono come sono. MAK è “permanente” lato client finché non cambi la chiave. Non rilevano automaticamente ADBA/KMS. Se vuoi uniformare, distribuisci la GVLK e attiva contro AD.
Dispositivi già attivati con KMS “vecchio”
Rimangono attivi fino alla necessità di rinnovo. Al tentativo successivo, se non trovano l’host legacy e ADBA è presente, si attiveranno tramite AD. In assenza di ADBA o di un nuovo host KMS andranno in grazia e poi in stato non attivato.
Dispositivi offline oltre 180 giorni
I client KMS/ADBA devono rinnovare l’attivazione entro ~180 giorni. Oltre tale arco temporale mostrano notifiche persistenti e riduzioni estetiche/funzionali. Per asset che stanno spesso fuori rete: o imposti una finestra di connessione periodica (VPN) o valutali per MAK.
ADBA funziona per tutti i prodotti?
ADBA copre Windows client e server moderni; per prodotti non idonei (o versioni legacy) può restare necessario KMS tradizionale o MAK. In ambienti eterogenei, ADBA può convivere con KMS come soluzione di fallback mirata.
Piano di migrazione consigliato
- Assessment: esporta l’inventario licenze e canali (script sopra) e mappa i sistemi con
/skms
impostato. - Design: definisci quali OU/gruppi passeranno ad ADBA e quali resteranno MAK (es. postazioni isolate, laboratori, kiosk).
- Implementazione ADBA: installa il ruolo e pubblica gli Activation Objects. Proteggi l’accesso alle CSVLK e al wizard (solo amministratori di licenza).
- Pilota: applica una GPO di conversione a un sottoinsieme di macchine. Verifica eventi (Event Viewer > Applications and Services Logs > Microsoft > Windows > Software Protection Platform Service) e
slmgr /xpr
. - Rollout: estendi la GPO per OU/regioni. Inserisci un WMI filter per separare client e server, se necessario.
- Cut‑over DNS: rimuovi
vlmcs.tcp
. Monitora per 1‑2 cicli di rinnovo (≥7 giorni) i contatori di errore. - Pulizia finale: elimina script vecchi e documenta la nuova architettura di attivazione. Prepara il playbook di emergenza (rollback SRV o host KMS temporaneo).
Best practice di sicurezza e governance
- Proteggi le CSVLK: trattale come segreti; usa workstation amministrative protette per il wizard ADBA.
- Segregazione dei ruoli: limita chi può modificare gli Activation Objects in AD.
- DNS hygiene: controlla periodicamente che non ricompaiano record
vlmcs.tcp
in zone secondarie o split‑brain. - Logging: centralizza gli eventi SPP (sppsvc) in un SIEM per trend e anomalie (errori tipici: impossibilità di contattare server di attivazione, chiave errata, ecc.).
- Documentazione: aggiorna runbook e KB interne con il comportamento durante assenze prolungate dalla rete.
Monitoraggio post‑migrazione: cosa osservare
- Tasso di attivazione: numero di client che passano a “Licensed” entro la prima settimana dal cut‑over.
- Errori ricorrenti: ad esempio host KMS hard‑coded rimasto su qualche immagine; risolvi con
/ckms
o re‑imaging. - Client mobili: verifica che la policy VPN “al logon” sia disponibile o che sia prevista una finestra di connessione periodica.
- Server core e cluster: includili nel pilota e verifica con
slmgr /dlv
da PowerShell remoting.
Esempio di GPO per conversione a ADBA
Un possibile approccio: Computer Configuration > Policies > Windows Settings > Scripts (Startup) con uno script simile a quello mostrato sopra. Aggiungi un WMI filter per separare client/server.
SELECT * FROM Win32_OperatingSystem WHERE ProductType = 1 AND Version >= "10.0" -- Client Windows 10/11
SELECT * FROM Win32_OperatingSystem WHERE ProductType <> 1 AND Version >= "10.0" -- Server 2016/2019/2022
Per i client che in passato avevano un KMS host specifico: includi nel tuo script slmgr /ckms
prima di installare la GVLK. Al termine, slmgr /ato
tenta subito l’attivazione via ADBA.
Gestione degli scenari speciali
- Golden image con chiavi: verifica che la tua immagine non fissi un
/skms
. Lascia l’auto‑discovery (che con ADBA è AD, non DNS). - Segmenti isolati: se alcune reti non hanno connettività con i DC, mantieni per quei segmenti una MAK o un KMS locale ben pubblicato e documentato.
- Ambienti multi‑forest: ADBA è per foresta; se hai più foreste senza trust bidirezionale valuta istanze distinte o KMS perimetrali.
- VDI e istanze temporanee: preferisci ADBA per ridurre attriti su soglie e gestione host; mantieni procedure di refresh.
Pitfall comuni e come evitarli
- Rimuovere il record SRV prima di attivare ADBA: causa ondate di “Activation failed” al primo rinnovo. Sequenzia correttamente.
- Dimenticare i client con
/skms
: rimangono ancorati a un host fantasma. Inserisci/ckms
nello script di conversione. - GVLK non corretta: installare una GVLK di edizione diversa dall’OS impedisce l’attivazione. Mappa con precisione SKU/edizioni.
- Contatori di soglia KMS: se mantieni un KMS tradizionale di backup, ricordati delle soglie minime (5 server/25 client). ADBA non ne ha, ma un KMS residuale sì.
- Firewall e porta 1688: non serve per ADBA; serve solo se tieni un KMS host. Evita aperture inutili.
Checklist di validazione post‑cut‑over
- DNS:
nslookup -type=all vlmcs.tcp.<dominio>
restituisce NXDOMAIN o nessun record (come atteso). - Client campione: sui sistemi pilota
slmgr /dlv
mostra canale volume‑licensed e stato “Licensed”. - Log centralizzati: trend errori SPP in discesa entro 48‑72 ore.
- Client remoti: trama di connessioni VPN a intervalli coerenti con la policy (almeno una volta ogni 180 giorni).
Appendice: comandi utili per amministratori
# Verifica stato licenza rapido
cscript //Nologo %windir%\system32\slmgr.vbs /xpr
Dettaglio completo (ID, channel, host contattato)
cscript //Nologo %windir%\system32\slmgr.vbs /dlv
Pulizia host KMS specificato e ritorno ad auto-discovery/ADBA
cscript //Nologo %windir%\system32\slmgr.vbs /ckms
Impostazione esplicita (se mantieni un KMS di backup)
cscript //Nologo %windir%\system32\slmgr.vbs /skms kmshost.dominio.local:1688
Forza attivazione
cscript //Nologo %windir%\system32\slmgr.vbs /ato
Flush cache DNS (post rimozione SRV)
ipconfig /flushdns
In sintesi
- Sì, eliminare il vecchio record
vlmcs.tcp
è sicuro quando ADBA è operativo e i client sono pronti (GVLK, domain‑joined, nessun/skms
legacy). - I dispositivi MAK non cambiano comportamento finché non li converti esplicitamente.
- I client KMS/ADBA devono contattare il dominio al massimo ogni ~180 giorni; oltre, scattano tolleranza e notifiche/limitazioni.
- Prevedi eccezioni (segmenti isolati, asset rari) e mantieni un piano di rollback del record SRV o un KMS di emergenza.
Modello di comunicazione verso gli utenti
Per ridurre ticket e interruzioni, invia una breve nota ai team:
- Oggetto: Aggiornamento del sistema di attivazione Windows
- Messaggio: “Da <data> i PC/Server aziendali si attiveranno tramite Active Directory. Nessuna azione richiesta. Per i laptop è necessario collegarsi alla VPN o in sede almeno una volta ogni 6 mesi. In caso di avvisi di attivazione, riavviare e assicurarsi della connettività alla rete aziendale; persistenza del problema → aprire ticket su <gruppo>.”
FAQ lampo
Serve aprire la porta 1688 nel firewall? Solo se mantieni un KMS host. Per ADBA non serve.
Posso mantenere sia ADBA che KMS? Sì, per compatibilità o transizione. Tieni chiaro chi usa cosa e documenta.
Come riconosco un client ADBA? slmgr /dlv
mostrerà GVLK ed esito di attivazione tramite Active Directory; non vedrai un host KMS specifico.
E se un client ha un’immagine con /skms
? Pulisci con /ckms
e installa la GVLK corretta, poi /ato
.
Che impatto ha rimuovere vlmcs.tcp
su Office? Dipende dalla versione e dal metodo; verifica se usi ADBA/KMS o MAK per Office e applica una strategia analoga.
Takeaway operativo
La migrazione dal vecchio KMS con record vlmcs.tcp
a un’architettura basata su ADBA è la strada consigliata per semplificare l’attivazione, ridurre i punti singoli di guasto e alleggerire il DNS. Con un piano ordinato — ADBA prima, pulizia DNS poi, conversione targettizzata dei client — ottieni un passaggio indolore, con la massima continuità per i team e una governance più solida per IT e compliance.