Substituir um host KMS em fim de vida não precisa ser doloroso. Este guia prático mostra como preparar o novo servidor, aposentar o antigo com segurança, garantir que clientes e servidores passem a ativar pelo novo host e ainda deixar tudo monitorado e documentado.
Visão geral e objetivos
Ao migrar o serviço Key Management Service (KMS), o objetivo é simples: desligar o host antigo, colocar o host novo em produção e garantir que todas as ativações passem a ocorrer nele. Para isso, você vai:
- Instalar e ativar o novo host com a chave correta.
- Publicar e validar o registro DNS
vlmcs.tcp
na porta 1688. - Assegurar conectividade e políticas de firewall.
- Redirecionar clientes (se necessário) e monitorar a contagem.
- Desativar o host antigo com segurança e plano de rollback.
Conceitos rápidos (e importantes)
Termo | O que é | Observações |
---|---|---|
CSVLK (KMS Host Key) | Chave instalada no host KMS (servidor) para ativar clientes. | É a chave que você instala com slmgr /ipk e ativa com slmgr /ato . |
GVLK (Generic Volume License Key) | Chave genérica utilizada nos clientes para se ativarem via KMS. | Windows & Office por volume já vêm com GVLK por padrão nas edições apropriadas. |
Registro DNS KMS | vlmcs.tcp (SRV) publicado na porta 1688. | É como os clientes descobrem o host KMS automaticamente. |
Serviço | Software Protection (sppsvc ). | Processo sppsvc.exe , responsável pelo KMS no Windows. |
Limites de contagem | 25 para Windows cliente; 5 para Windows Server; 5 para Office (KMS). | Antes de atingir o mínimo, o host não concede ativações definitivas. |
Renovação | Clientes renovam a cada 7 dias; ativação expira em 180 dias. | Se falhar, novo teste em ~2 horas até conseguir. |
Alternativa | ADBA (Ativação Baseada no Active Directory). | Evita host dedicado; requer nível funcional/ambiente compatível. |
Checklist pré-migração
- Inventário: anote o FQDN/IP do KMS antigo, domínio DNS, sistemas que dependem dele (Windows e Office) e se há clientes configurados com
/skms
. - Acesso e permissões: conta com direitos de administrador local e permissão para atualizações dinâmicas no DNS.
- Rede e firewall: liberação TCP 1688 de estações/servidores até o novo host, e entre sub-redes/filiais.
- Sincronismo de tempo: NTP consistente (KMS é sensível a desalinhamento de horário).
- Chaves: tenha a CSVLK correta do contrato; confirme a cobertura das versões que precisa ativar.
- Plano de rollback: como voltar o SRV do DNS e/ou religar o host antigo se algo não funcionar.
Resumo rápido das etapas
Etapa | Ação recomendada | Detalhes / Comandos |
---|---|---|
Preparar o host novo | Instalar a função e validar o serviço | Windows Server:Install-WindowsFeature -Name VolumeActivation -IncludeManagementTools sc query sppsvc Em Windows (não‑Server), garanta o serviço Software Protection ativo. |
Desativar o host antigo (opcional, recomendado) | Remover a chave e impedir respostas | slmgr.vbs /upk net stop sppsvc (opcional) remover a função Volume Activation Services |
Instalar e ativar a chave no novo host | CSVLK + ativação online | slmgr.vbs /ipk <sua-CSVLK> slmgr.vbs /ato slmgr.vbs /dlv |
Atualizar o DNS | Publicar/validar vlmcs.tcp | nslookup -type=srv vlmcs.tcp.seudominio.local Remova entradas antigas para evitar consultas falhas. |
Garantir acessibilidade | Firewall e conectividade | New-NetFirewallRule -DisplayName "KMS TCP 1688" -Direction Inbound -Protocol TCP -LocalPort 1688 -Action Allow Test-NetConnection kms.seudominio.local -Port 1688 |
Redirecionar/forçar clientes (se preciso) | GPO ou slmgr nos endpoints | slmgr.vbs /skms kms.seudominio.local slmgr.vbs /ato Para limpar configurações manuais: slmgr.vbs /ckms . |
Monitorar | Contagem, renovações e eventos | slmgr.vbs /dli Get-WinEvent -LogName "Key Management Service" -MaxEvents 20 | Format-Table TimeCreated, Id, Message -Wrap |
Plano detalhado de migração
Mapeie o estado atual
- No host antigo, execute
slmgr.vbs /dlv
e registre: Nome do computador, Porta (padrão 1688), Contagem atual e SKU. - Consulta do SRV no DNS:
nslookup -type=srv vlmcs.tcp.seudominio.local
- Procure endpoints com KMS definido manualmente:
cscript %windir%\system32\slmgr.vbs /dli
Se aparecer um host em KMS machine name, esse cliente foi “forçado” com/skms
.
Preparar o host novo
- Junte o servidor ao domínio e aplique políticas padrão (antimalware, NTP, backup).
- Instale a função:
Install-WindowsFeature -Name VolumeActivation -IncludeManagementTools
- Confirme o serviço:
sc query sppsvc
Instalar e ativar a CSVLK
slmgr.vbs /ipk <sua-CSVLK>
slmgr.vbs /ato
slmgr.vbs /dlv
Dica: sempre guarde evidências (capturas ou saída em arquivo) da ativação do host para auditoria.
Publicar e validar o SRV no DNS
Em ambientes AD integrados, o host KMS publica automaticamente vlmcs.tcp
(porta 1688). Verifique:
nslookup -type=srv vlmcs.tcp.seudominio.local
Se houver múltiplos hosts (migração faseada/HA), ajuste Priority e Weight nos registros SRV para favorecer o novo host temporariamente. Remova o registro do host antigo ao final.
Firewall e testes de conectividade
New-NetFirewallRule -DisplayName "KMS TCP 1688" -Direction Inbound -Protocol TCP -LocalPort 1688 -Action Allow
Test-NetConnection kms.seudominio.local -Port 1688
ou:
telnet kms.seudominio.local 1688
Desativar o host antigo (com segurança)
Embora não seja obrigatório remover a chave se você vai desligá-lo para sempre, é uma boa prática evitar que o servidor volte a responder como KMS (reboot acidental, migração de VM, etc.).
slmgr.vbs /upk
net stop sppsvc
Depois, desinstale a função (se aplicável) e apague o registro SRV correspondente no DNS.
Redirecionar/forçar clientes (se necessário)
Na maioria dos casos, os clientes detectam o novo host pelo DNS em até algumas horas. Para acelerar:
slmgr.vbs /skms kms.seudominio.local
slmgr.vbs /ato
Para remover qualquer configuração manual e voltar à descoberta por DNS:
slmgr.vbs /ckms
ipconfig /flushdns
slmgr.vbs /ato
Você também pode usar GPO: Configuração do Computador > Políticas > Modelos Administrativos > Componentes do Windows > Ativação do Windows > Especificar o nome do computador do host KMS.
Monitoramento contínuo
- Contagem no host:
slmgr.vbs /dli slmgr.vbs /dlv
- Eventos (host) – Visualizador de Eventos > Logs de Aplicativos e Serviços > Key Management Service (IDs de requisição/erro).
- Saúde do serviço:
sc query sppsvc Get-WinEvent -LogName "Key Management Service" -MaxEvents 50 | Format-Table TimeCreated, Id, LevelDisplayName, Message -Wrap
Perguntas frequentes (respondidas de forma direta)
Quais os passos práticos para remover o KMS antigo e configurar o novo?
- Novo host: instalar a função, aplicar CSVLK e ativar (
/ipk
&/ato
), abrir porta 1688, validar DNS SRV e conectividade. - Clientes: aguardar descoberta via DNS ou forçar com
/skms
; ativar com/ato
; limpar hosts manuais legados com/ckms
. - Antigo host: remover chave (
/upk
), parar serviço, retirar função e apagar SRV antigo do DNS. - Monitorar no novo host: contagem, eventos e renovações.
É obrigatório remover a chave do host KMS antigo se ele será desativado?
Não é obrigatório se o servidor será definitivamente desligado. Recomendado, porque evita reativações acidentais (reboot inesperado, restauração de snapshot de VM, etc.) e elimina conflitos de contagem.
Que serviço (processo) o KMS utiliza?
O KMS faz parte do serviço Software Protection (sppsvc
). O executável é sppsvc.exe
, responsável pela ativação por volume e pela escuta na porta TCP 1688.
Validação pós-migração
Defina critérios objetivos de aceitação:
- Registro
vlmcs.tcp
aponta apenas para o novo host. - Conectividade: Test-NetConnection bem-sucedido a partir de sub-redes chave.
- Ativações: pelo menos 5 servidores e 25 estações ativadas (conforme seu parque);
slmgr /dlv
mostra contagem >= limiar do tipo. - Eventos: sem erros recorrentes 0xC004F074, 0xC004F038, 0xC004F015.
Automação em massa (opcional)
PowerShell para forçar novo KMS em múltiplos computadores
$computers = Get-Content .\lista-computadores.txt
Invoke-Command -ComputerName $computers -ScriptBlock {
cscript.exe $env:windir\system32\slmgr.vbs /skms "kms.seudominio.local"
cscript.exe $env:windir\system32\slmgr.vbs /ato
}
Reverter clientes com host manual para descoberta por DNS
Invoke-Command -ComputerName $computers -ScriptBlock {
cscript.exe $env:windir\system32\slmgr.vbs /ckms
ipconfig /flushdns
cscript.exe $env:windir\system32\slmgr.vbs /ato
}
Configuração por GPO
Use a diretiva Especificar o nome do computador do host KMS para apontar para o novo FQDN. Após estabilizar a migração, avalie retirar essa GPO para permitir descoberta automática por SRV, mantendo o ambiente mais resiliente a trocas futuras.
Erros comuns e como corrigir
Erro | Causa provável | Correção |
---|---|---|
0xC004F074 (KMS indisponível) | DNS SRV ausente/errado; firewall bloqueando 1688; host não alcançável. | Corrija o SRV vlmcs.tcp , libere TCP 1688, teste com Test-NetConnection . |
0xC004F038 (contagem insuficiente) | Menos de 25 clientes desktop ou 5 servidores contatando o host. | Ligue mais máquinas; garanta que usem GVLK; verifique slmgr /dlv (Current count). |
0xC004F015 (SKU/chave inválida) | CSVLK incompatível com o produto alvo; versão não coberta. | Use uma CSVLK adequada ao seu contrato e aos produtos que precisa ativar. |
Clientes ativando no host antigo | Registro SRV antigo ainda no DNS; clientes com /skms apontando para o antigo. | Remova SRV legado; rode /ckms nos clientes ou atualize a GPO. |
Intermitência entre dois KMS | Dois SRVs ativos com prioridade/weight iguais. | Ajuste Priority/Weight para favorecer o novo host ou remova o antigo. |
Considerações avançadas
- Alta disponibilidade: é possível ter mais de um KMS. Publique ambos no SRV e distribua Weight. Documente sua estratégia.
- Filiais e redes lentas: confirme MTU/latência e rotas. Avalie KMS local apenas se houver volume significativo; caso contrário, centralize.
- DMZ: evite expor KMS à internet. Para workloads em DMZ, abra retorno outbound para o KMS interno ou adote ADBA quando aplicável.
- ADBA: se seu ambiente (2012 R2+) permitir, instalar a CSVLK no AD (via Volume Activation Tools > Active Directory-Based Activation) elimina a dependência de host e de SRV; clientes ativam ao se autenticarem no domínio.
- Office via KMS: lembre-se de validar o serviço KMS para Office (limiar 5). Em clientes Office:
cscript "C:\Program Files\Microsoft Office\Office16\OSPP.VBS" /act cscript "C:\Program Files\Microsoft Office\Office16\OSPP.VBS" /dstatus
- Segurança: restrinja quem pode administrar o KMS; monitore tentativas de ativação incomuns.
Plano de rollback
- Recrie o SRV
vlmcs.tcp
apontando para o host antigo (ou restaure prioridade/weight anteriores). - Ligue o host antigo (se desinstalou a chave, reinstale com
/ipk
seguido de/ato
). - Clientes que foram forçados com
/skms
para o novo host podem ser revertidos com/skms <antigo>
ou/ckms
(descoberta via DNS). - Documente a causa, ajuste e reprograme a janela de migração.
Checklist final de verificação
- CSVLK instalada e host ativado com sucesso (
slmgr /dlv
sem erros). - SRV
vlmcs.tcp
publicado apenas para o novo host. - Firewall: regra de entrada TCP 1688 ativa; conectividade validada de sub-redes relevantes.
- Clientes sem
/skms
legado (ou GPO limpa) e ativação concluída (slmgr /ato
). - Contagem mínima atingida e tendência de crescimento (renovações em 7 dias).
- Host antigo sem chave (
/upk
) e desligado/desinstalado; SRV antigo removido. - Monitoramento com Key Management Service em Event Viewer saudável.
Modelos de comando prontos para uso
Servidor KMS novo
# Instalar a função
Install-WindowsFeature -Name VolumeActivation -IncludeManagementTools
Instalar e ativar CSVLK
slmgr.vbs /ipk XXXXX-XXXXX-XXXXX-XXXXX-XXXXX
slmgr.vbs /ato
Validar
slmgr.vbs /dlv
New-NetFirewallRule -DisplayName "KMS TCP 1688" -Direction Inbound -Protocol TCP -LocalPort 1688 -Action Allow
Test-NetConnection \ -Port 1688
Checar eventos
Get-WinEvent -LogName "Key Management Service" -MaxEvents 20 |
Format-Table TimeCreated, Id, LevelDisplayName, Message -Wrap
Servidor KMS antigo
# Parar de responder como KMS
slmgr.vbs /upk
net stop sppsvc
(opcional) Desinstalar função
Uninstall-WindowsFeature -Name VolumeActivation
Clientes Windows
# Forçar uso do novo host KMS
slmgr.vbs /skms kms.seudominio.local
slmgr.vbs /ato
Voltar à descoberta automática (DNS)
slmgr.vbs /ckms
ipconfig /flushdns
slmgr.vbs /ato
Ver status resumido
slmgr.vbs /dli
Boas práticas de operação contínua
- Documente CSVLK aplicada, data, host responsável e captura de
/dlv
. - Monitore renovações e contagem mensalmente; mantenha alarme para erros 0xC004F074 e quedas de contagem.
- Planeje substituições futuras: padronize que o registro
vlmcs.tcp
nunca use hostnames “personalizados” de curto prazo (ex.: evite nomes com versões/anos). - Segurança & compliance: acesso de administrador do KMS apenas a equipe de licenciamento/infra; registre quem instala/alterar CSVLK.
Conclusão
Seguindo este roteiro — preparar o host novo, ativar a CSVLK, validar DNS/porta, redirecionar clientes, aposentar o host antigo e monitorar — a migração do KMS ocorre de forma limpa e previsível. Mantenha o DNS como fonte da verdade, evite configurações manuais permanentes em clientes e considere ADBA quando fizer sentido no seu ambiente. Com isso, você garante ativações estáveis, menos chamadas de suporte e um ciclo de vida simples para futuras trocas de servidor.
Anexo: respostas rápidas
- Preciso remover a chave do host antigo? Não é obrigatório se ele será desligado para sempre; é recomendável para evitar conflitos e reativações acidentais.
- Que serviço o KMS usa? Software Protection (
sppsvc
,sppsvc.exe
), porta TCP 1688, registro SRVvlmcs.tcp
. - Passos práticos: preparar host novo → ativar CSVLK → ajustar/validar DNS → liberar porta 1688 → forçar clientes (se necessário) → monitorar → remover chave e desligar host antigo.