Rastreamento da atividade do WMI

Do Windows Vista em diante, o serviço WMI não usa os Arquivos de Log do WMI. Em vez disso, ele usa o ETW (Rastreamento de Eventos para Windows) e os eventos ficam disponíveis no Visualizador de Eventos ou da ferramenta de linha de comando Wevtutil.

As seguintes seções serão abordadas neste tópico:

Obter eventos do WMI por meio do Visualizador de Eventos

O arquivo WMITracing.log contém os eventos que o WMI rastreia. No entanto, esse é um arquivo binário. Para ver esses eventos em um formato legível por humanos, use o Visualizador de Eventos.

Por padrão, os eventos do WMI não são rastreados. Este procedimento descreve como usar o Visualizador de Eventos para habilitar o rastreamento de eventos do WMI e localizar eventos do WMI. Você pode fazer as mesmas operações por meio da ferramenta de linha de comando wevtutil.

Para exibir eventos do WMI no Visualizador de Eventos

  1. Abra o Visualizador de Eventos. No menu Exibir, clique em Mostrar Logs de Análise e Depuração. Localize o log do canal Rastreamento para o WMI em Logs de Aplicativos e Serviços | Microsoft | Windows | Atividade do WMI.
  2. Clique com o botão direito do mouse no log de Rastreamento e selecione Propriedades do Log. Clique na caixa Habilitar Registro em Log para iniciar o rastreamento de eventos do WMI. Para obter mais informações sobre canais, confira Logs de Eventos e Canais no Log de Eventos do Windows.
  3. Os eventos do WMI aparecem na janela de eventos de WMI-Activity. Clique duas vezes em um evento na lista para ver as informações detalhadas. Você pode exibir um evento no Modo de exibição XML ou no formato de Exibição Amigável.

O campo ID do Evento mostra um valor que contém as informações a seguir.

Evento 1

Início da sequência de eventos de uma operação específica. Uma ocorrência para cada sequência.

Os campos de evento de um Evento 1 são:

  • GroupOperationID é um identificador exclusivo usado para todos os eventos relatados para um cliente específico.
  • OperationId indica a sequência de operações.
  • Operation especifica a conexão ou a solicitação para o WMI.
  • User indica a conta que faz uma solicitação ao WMI executando um script ou por meio do CIM Studio.
  • Namespace mostra o namespace do WMI no qual a conexão é feita.

Por exemplo, um script pode solicitar todas as instâncias de uma classe do WMI, como Win32_Service. A primeira operação pode ser uma conexão com o WMI.

Evento 2

Eventos que compõem a operação. Uma ou mais ocorrências na sequência.

Os campos de evento para um Evento 2 são:

  • GroupOperationID indica a sequência na qual o evento ocorre.
  • GroupOperationID indica a sequência na qual o evento ocorre.
  • ProviderName indica o nome do provedor que fornece os dados.
  • Path é o caminho do WMI para o objeto.

Por exemplo, a operação pode ser uma enumeração de Win32_Service.

Evento 3

Fim da sequência de eventos de uma operação específica. Uma ocorrência para cada sequência.

Somente GroupOperationID é mostrado.

Habilitar o rastreamento do WMI no prompt de comando

Você também pode habilitar o rastreamento de eventos do WMI por meio da ferramenta de linha de comando Wevtutil. Use o seguinte comando: Wevtutil.exe sl Microsoft-Windows-WMI-Activity/Trace /e:true. A origem do evento do WMI é Microsoft-Windows-WMI. Para obter mais informações sobre a Wevtutil.exe, confira Sobre o log de eventos do Windows.

Usar o rastreamento do WMI baseado em WPP

Nos sistemas operacionais Windows, começando no Windows Vista, o WMI cria um canal de rastreamento ativo durante o processo de inicialização. O nome do canal é WMI_Trace_Session. Somente erros são registrados nesse canal.

O WPP (pré-processador de rastreamento de software) do Windows registra informações em um arquivo binário. Para ler o arquivo, primeiro você deve traduzi-lo para um formato de texto legível. Você usa uma ferramenta chamada tracefmt.exe do WDK (Windows Driver Kit) para fazer a tradução. A ferramenta requer informações armazenadas em alguns arquivos associados. Os arquivos estão localizados no diretório %SystemRoot%\System32\wbem\tmf e têm uma extensão de nome de arquivo .tmf. Na verdade, a ferramenta requer um único arquivo .tmf. Você cria esse arquivo único concatenando todos os arquivos .tmf em outro arquivo .tmf. Para obter mais informações sobre arquivos .tmf, confira Arquivo de formato de mensagem de rastreamento.

Depois de instalar o WDK (Windows Driver Kit) para obter as ferramentas de linha de comando tracelog.exe e tracefmt.exe, execute as etapas a seguir para coletar um rastreamento do WMI baseado em WPP.

Para exibir um rastreamento do WMI baseado em WPP

  1. Para criar o arquivo único .tmf, abra uma janela do Prompt de Comando com privilégios elevados e navegue até o diretório %SystemRoot%\System32\wbem\tmf.

  2. Digite copy /y %SystemRoot%\System32\wbem\tmf\*.tmf %SystemRoot%\System32\wbem\tmf\wmi.tmf. Isso criará um arquivo chamado wmi.tmf que inclui o conteúdo de todos os outros arquivos .tmf.

  3. Digite tracelog -flush WMI_Trace_Session. Isso liberará os buffers do WPP no disco.

  4. Digite set TRACE_FORMAT_PREFIX = [%9!d!]%8!04X!.%3!04X!.%3!04X!::%4!s![%1!s!](%!COMPNAME!:%!FUNC !:%2!s!). A ferramenta tracefmt adiciona algumas informações padrão a cada mensagem de rastreamento. Você pode configurar quais informações são incluídas definindo a variável de ambiente TRACE_FORMAT_PREFIX. Para saber mais sobre a sintaxe usada, consulte Prefixo de mensagem de rastreamento.

  5. Digite tracefmt -tmf %systemroot%\system32\wbem\tmf\wmi.tmf -o OUTPUT.TXT %systemroot%\system32\wbem\logs\WMITracing.log. Isso executa a tradução do formato binário para o formato de texto legível.

  6. Digite notepad %systemroot%\system32\wbem\tmf\OUTPUT.TXT. Isso abrirá o arquivo de rastreamento no Bloco de notas.

Veja a seguir mais algumas tarefas relacionadas ao WPP que talvez seja necessário executar.

Para interromper o rastreamento do WMI baseado em WPP

  • Digite tracelog -stop WMI_Trace_Session.

Para iniciar o rastreamento do WMI baseado em WPP

  • Digite tracelog -start WMI_Trace_Session -guid #1FF6B227-2CA7-40f9-9A66-980EADAA602E -rt -level 5 -flag 0x7 -f MYTRACE.BIN

Windows Vista: por padrão, o rastreamento do WMI baseado em WPP é definido como nível 2, que inclui apenas mensagens de erro. Para incluir mensagens informativas também, defina o nível como 4. Todas as áreas do WMI são rastreadas por padrão. Há três áreas distintas que podem ser rastreadas: Core (flag=0x1), ESS (flag=0x2) e Prov (flag=0x4). No comando acima, usado para iniciar, o sinalizador 0x7 faz com que todas as três áreas sejam rastreadas.

Windows 7: por padrão, o rastreamento do WMI baseado em WPP fica desabilitado e definido como nível 0. Para usar o rastreamento do WMI baseado em WPP, esse recurso deve ser habilitado e definido como nível 2 para mensagens de erro ou nível 4 para mensagens informativas e de erro.

Para listar todas as sessões de rastreamento do WPP

  • Digite tracelog -l.

Para listar informações sobre a sessão de rastreamento WPP do WMI

  • Digite tracelog -l | findstr /i "wmi_trace".

Para exibir os parâmetros de sessão de rastreamento WPP do WMI

  • Digite tracelog -q WMI_Trace_Session.

Solucionar problemas de WMI

Arquivos de log do WMI