Migrar o serviço KMS no Windows Server: passo a passo seguro para substituir o servidor antigo por um novo

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.

Índice

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)

TermoO 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 KMSvlmcs.tcp (SRV) publicado na porta 1688.É como os clientes descobrem o host KMS automaticamente.
ServiçoSoftware Protection (sppsvc).Processo sppsvc.exe, responsável pelo KMS no Windows.
Limites de contagem25 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çãoClientes renovam a cada 7 dias; ativação expira em 180 dias.Se falhar, novo teste em ~2 horas até conseguir.
AlternativaADBA (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

EtapaAção recomendadaDetalhes / Comandos
Preparar o host novoInstalar a função e validar o serviçoWindows 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 respostasslmgr.vbs /upk net stop sppsvc (opcional) remover a função Volume Activation Services
Instalar e ativar a chave no novo hostCSVLK + ativação onlineslmgr.vbs /ipk <sua-CSVLK> slmgr.vbs /ato slmgr.vbs /dlv
Atualizar o DNSPublicar/validar vlmcs.tcpnslookup -type=srv vlmcs.tcp.seudominio.local Remova entradas antigas para evitar consultas falhas.
Garantir acessibilidadeFirewall e conectividadeNew-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 endpointsslmgr.vbs /skms kms.seudominio.local slmgr.vbs /ato Para limpar configurações manuais: slmgr.vbs /ckms.
MonitorarContagem, renovações e eventosslmgr.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

  1. No host antigo, execute slmgr.vbs /dlv e registre: Nome do computador, Porta (padrão 1688), Contagem atual e SKU.
  2. Consulta do SRV no DNS: nslookup -type=srv vlmcs.tcp.seudominio.local
  3. 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?

  1. Novo host: instalar a função, aplicar CSVLK e ativar (/ipk & /ato), abrir porta 1688, validar DNS SRV e conectividade.
  2. Clientes: aguardar descoberta via DNS ou forçar com /skms; ativar com /ato; limpar hosts manuais legados com /ckms.
  3. Antigo host: remover chave (/upk), parar serviço, retirar função e apagar SRV antigo do DNS.
  4. 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

ErroCausa provávelCorreçã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 antigoRegistro 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 KMSDois 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

  1. Recrie o SRV vlmcs.tcp apontando para o host antigo (ou restaure prioridade/weight anteriores).
  2. Ligue o host antigo (se desinstalou a chave, reinstale com /ipk seguido de /ato).
  3. Clientes que foram forçados com /skms para o novo host podem ser revertidos com /skms <antigo> ou /ckms (descoberta via DNS).
  4. 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 SRV vlmcs.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.
Índice