A contagem de clientes KMS não incrementa devido a CMID'S duplicados

Neste post vamos abordar uma problemática relacionada com a instalação e activação de clientes KMS. Estas duas questões aparecem cada vez mais associadas devido ao elevado numero de ferramentas para fazer clones de imagens, imagens baseadas em templates bem como ferramentas P2V (Physical to Physical).

Para se dar inicio ao processo de activação de clientes KMS será necessário termos o seguinte numero mínimo de clientes reportados no servidor KMS:

  • Windows Vista/Windows 7: 25
  • Windows Server 2008/Windows Server 2008R2: 5

O sintoma mais comum verificado é o numero de clientes detectados no servidor KMS não corresponder ao numero real de máquinas já instaladas. Consequentemente, não atingindo o numero mínimo de clientes o processo de activação não inicia.

Estas são algumas das razões que explicam este comportamento:

  • Não executar o comando sysprep /generalize. Este comando é necessário aquando da criação da imagem. Podem encontrar mais detalhes sobre este comportamento no seguinte artigo: KB162001
  • Executar o sysprep com um unattend.xml que contém a linha <SkipRearm> definida para 1. Não é recomendado criar imagens com este parâmetro, mas caso seja utilizado deverá ser definido a 0 ou em alternativa remove-lo antes de efectuar a distribuição final da imagem.

Para determinar se estamos perante este cenário podemos usar o log do KMS da seguinte forma:

1. No servidor KMS abrir o Event Viewer
2. Right click no log Key Management Service e escolher a opção: “Save all events as”
3. Gravar com o tipo Text(Tab Delimited)(*.txt)
5. Gravar com o nome KMS.TXT e fechar o Event Viewer
6. Abrir o Excel
7. De seguida ir a File, Open, e seleccionar o ficheiro KMS.TXT
8. Deverá abrir o Text Import Wizard e escolher as seguintes opções:
Delimited
Start Import at Row: 8
Delimiters: Comma
10. Click no canto superior esquerdo da folha de calculo e seleccionar todo o documento.
11. Seleccionar Data, Sort, e no Sort By escolher “Column D”
12. A informação deverá ficar ordenada em colunas.

O campo Client Machine ID (CMID) é usado para identificar o cliente KMS; quando executamos o sysprep /generalize na imagem, uma das funções é gerar um novo GUID e desta forma cada máquina distribuída tenha um CMID único.

Neste exemplo o comando sysprep /generalize não foi usado na preparação das imagens:

Column C-Computername

Column D-CMID

TEST4.contoso.com

01eb9985-230c-49ad-a8c2-c24914da4739

TEST2.contoso.com

01eb9985-230c-49ad-a8c2-c24914da4739

TEST3.contoso.com

01eb9985-230c-49ad-a8c2-c24914da4739

TEST5.contoso.com

01eb9985-230c-49ad-a8c2-c24914da4739

TEST1.contoso.com

01eb9985-230c-49ad-a8c2-c24914da4739

Pelo output podemos verificar que existem várias máquinas com o mesmo CMID e dessa forma o servidor KMS vai “ver” estas 5 maquinas como sendo apenas uma. Por este motivo, o numero real de máquinas clientes não corresponde ao numero de máquinas reportadas no servidor KMS e consequentemente o processo de activação não inicia. Cada computador deverá ter um CMID único.

IMPORTANTE: É possível usar o comando slmgr.vbs /rearm para fazer reset ao CMID das máquinas e contornar este problema; no entanto, este procedimento não altera o estado de Não Suportado em que máquinas se encontram. Imagens distribuídas sem o uso do comando sysprep não são suportadas pela Microsoft. O Sysprep executa aproximadamente 30 sysprep providers. Estes providers vão corrigir diversos problemas quando se duplica uma imagem. Ao não executar o sysprep é impossível determinar quais os problemas que poderão vir a ocorrer no futuro. Nestas situações a única solução suportada será recriar e efectuar nova distribuição das imagens usando o commando Sysprep /generalize.

AL