O curioso caso das máquinas que "perdem" ativação

Por: Rafael Oliveira

Algumas semanas atrás efetuei troubleshooting de um cenário o qual era reportado pelos usuários que as estações de trabalho Windows 7, aparentemente, "perdiam a ativação". O ambiente em questão fazia uso do Key Management Services (KMS) para efetuar o gerenciamento da ativação das máquinas.

Basicamente, um cliente/servidor Windows, desde o Vista é um cliente KMS por padrão (a menos que o Windows instalado tenha sido comprado através de uma "caixinha" ou seja OEM). Desta forma, após o deployment da máquina, o cliente tentará encontrar um KMS host (via query DNS) para efetuar a ativação automática. Uma vez ativado, o período de validade desta ativação é de 180 dias e, neste período, o cliente precisa, pelo menos, contatar uma vez o KMS Host para efetuar a renovação, caso contrário após o término do período o computador passa a exibir mensagens que o Windows não está ativado.

Mais detalhes de como o KMS funciona podem ser encontrados no link https://technet.microsoft.com/en-us/library/ff793434.aspx.

No caso, para corrigir o problema, o time de campo executava o comando slmgr /ato para forçar a ativação da máquina. Desta forma, o problema era resolvido.

Como primeira ação de troubleshooting, usamos o comando abaixo, eu um cliente afetado, para obter um status da licença no mesmo:

C:\windows\system32>slmgr.vbs -dlv

Microsoft (R) Windows Script Host Versão 5.8

Copyright (C) 1996-2001 Microsoft Corporation. Todos os direitos reservados.

Versão do serviço de licença do software: 6.1.7601.17514

Nome: Windows(R) 7, Enterprise edition

Descrição: Windows Operating System - Windows(R) 7, VOLUME_KMSCLIENT channel

Identificação da Ativação: ae2ee509-1b34-41c0-acb7-6d4650168915

Identificação da Aplicação: 55c92734-d682-4d71-983e-d6ec3f16059f

PID estendido: 00392-00170-918-500000-03-1033-7600.0000-0592013

Identificação da Instalação: 008311532182441091169771095185672862617136853813010

163

Chave do Produto (Product Key) Parcial: XXXXX

Status da Licença: Notificação

Razão da Notificação: 0xC004F00F.

Contagem de rearmação restante do Windows: 1

Hora confiável: 08/03/2016 16:34:42

Use slmgr.vbs /ato para ativar e atualizar as informaçΣes de cliente KMS para a

atualização dos valores.

Na documentação de error codes do Volume Activation (https://support.microsoft.com/en-us/kb/938450) tinha-se a seguinte informação para o status mostrado acima:

No caso, o restart da máquina não resolvia o problema uma vez que diariamente as máquinas já eram desligadas pelos usuários. Além disso, não havia histórico de alteração de hardware ou update drivers nas máquinas. Sendo assim, esta causa poderia ser descartada.

Analisando o log de aplicação das máquinas afetadas procurando pelos eventos 12288 e 12289 do Security-SPP, que são gerados quando um cliente envia um request de ativação e processa a resposta do KMS Host, respectivamente, obtivemos que o último request processado com sucesso, mostrado no exemplo abaixo, havia sido ocorrido a mais de 7 meses atrás:

Log Name: Application

Source: Microsoft-Windows-Security-SPP

Date: 7/29/2015 11:54:15 AM

Event ID: 12289

Task Category: None

Level: Information

Keywords: Classic

User: N/A

Computer: XXXXXXXXXXXXXXXXXXXXXXXXX

Description:

The client has processed an activation response from the key management service machine.

Info:

0x00000000, 0x00000000, 1, 0, 50, 120, 10080, 2015/07/29 14:54

Event Xml:

<Event xmlns="https://schemas.microsoft.com/win/2004/08/events/event">

<System>

<Provider Name="Microsoft-Windows-Security-SPP" Guid="{E23B33B0-C8C9-472C-A5F9-F2BDFEA0F156}" EventSourceName="Software Protection Platform Service" />

<EventID Qualifiers="16384">12289</EventID>

<Version>0</Version>

<Level>4</Level>

<Task>0</Task>

<Opcode>0</Opcode>

<Keywords>0x80000000000000</Keywords>

<TimeCreated SystemTime="2015-07-29T14:54:15.000000000Z" />

<EventRecordID>20736</EventRecordID>

<Correlation />

<Execution ProcessID="0" ThreadID="0" />

<Channel>Application</Channel>

<Computer>XXXXXXXXXXXXXXXXXXXXXXXXXX</Computer>

<Security />

</System>

<EventData>

<Data>0x00000000, 0x00000000, 1, 0, 50, 120, 10080, 2015/07/29 14:54</Data>

O artigo https://technet.microsoft.com/en-us/library/ee939272.aspx possui detalhes acerca dos campos contidos nos logs 12288 e 12289.

Mas, voltando ao troubleshooting, conforme foi dito no ínicio, a ativação do cliente KMS tem validade de 180 dias e com a evidência acima conseguimos compreender o motivo da "perda de ativação" reportada pelos usuários. No caso, os clientes haviam parado de enviar requests a um período superior a validade da ativação. Por padrão, os clientes contatam o KMS Host a cada 7 dias para renovar a licença. Desta forma, em um cenário sem problema, esses eventos (12288 e 12289) são gerados a cada 7 dias.

Em adição a evidência detectamos que praticamente no mesmo período que os requests de ativação pararam de ser enviados, o evento abaixo passou a ser gerado com de forma frequente:

Log Name: Application

Source: Microsoft-Windows-Security-SPP

Date: 8/5/2015 2:36:56 PM

Event ID: 1021

Task Category: None

Level: Warning

Keywords: Classic

User: N/A

Computer: XXXXXXXXXXXXXXXXXXXXXXX

Description:

sppuinotify service has failed to start. 0x80070005

Event Xml:

<Event xmlns="https://schemas.microsoft.com/win/2004/08/events/event">

<System>

<Provider Name="Microsoft-Windows-Security-SPP" Guid="{E23B33B0-C8C9-472C-A5F9-F2BDFEA0F156}" EventSourceName="Software Protection Platform Service" />

<EventID Qualifiers="32768">1021</EventID>

<Version>0</Version>

<Level>3</Level>

<Task>0</Task>

<Opcode>0</Opcode>

<Keywords>0x80000000000000</Keywords>

<TimeCreated SystemTime="2015-08-05T17:36:56.000000000Z" />

<EventRecordID>21276</EventRecordID>

<Correlation />

<Execution ProcessID="0" ThreadID="0" />

<Channel>Application</Channel>

<Computer>XXXXXXXXXXXXXXXXXXXXXXX</Computer>

<Security />

</System>

<EventData>

<Data>0x80070005</Data>

</EventData>

</Event>

De acordo com a documentação do serviço sppuinotify contida no link https://technet.microsoft.com/en-us/library/hh125927%28v=ws.10%29.aspx?f=255&MSPPError=-2147217396#BKMK_sppuinotify temos o seguinte para o mesmo:

Ao verificarmos o serviço, identificamos que o mesmo estava desabilitado. Após alterá-lo para o startup default (Manual), imediamente, de forma automática, um request de ativação foi enviado para o KMS Host e, em seguida, processado pelo cliente o que podemos identificar monitorando o log de aplicação, verificando os eventos 12288 e 12289 do Security-SPP.

Posteriormente foi identificado que uma GPO aplicadas nas estações estava definindo o startup do serviço Disabled e foi necessário alterar estava configuração para Manual, pois definindo a GPO como Not Configured não reverteria a configuração nas máquinas.