Partilhar via


Solução de problemas do WMI

Ao acessar dados locais ou remotos do WMI em um aplicativo ou script, você pode encontrar erros que variam de classes ausentes a acesso negado. Os provedores também têm funcionalidades de depuração e classes de resolução de problemas disponíveis.

Observação

As informações neste tópico destinam-se a desenvolvedores e administradores de TI. Se você for um usuário final que recebeu uma mensagem de erro sobre WMI, visite de Suporte da Microsoft e procure o código de erro que você vê na mensagem de erro. Para obter mais informações sobre como solucionar problemas com scripts WMI e o serviço WMI, consulte o WMI não está funcionando!

Utilitário de diagnóstico WMI

Importante

O Utilitário de Diagnóstico WMI (WMIDiag.exe) não é mais suportado, começando com o Windows 8 e o Windows Server 2012.

Windows 7, Windows Server 2008 R2, Windows Vista e Windows Server 2008:

Se o WMI retornar mensagens de erro, lembre-se de que elas podem não indicar problemas no serviço WMI ou nos provedores WMI. As falhas podem ter origem em outras partes do sistema operacional e surgir como erros por meio do WMI. Sob nenhuma circunstância você deve excluir o repositório WMI como um primeiro passo; Porque excluir o repositório pode causar danos ao sistema ou aos aplicativos instalados.

Anteriormente, para obter mais informações sobre a origem do problema, você podia baixar e executar a ferramenta de linha de comando de diagnóstico do Utilitário de Diagnóstico WMI. Essa ferramenta produziu um relatório que geralmente poderia isolar a fonte do problema e fornecer instruções sobre como corrigi-lo. O relatório também ajudou os serviços de suporte da Microsoft a ajudá-lo. O Utilitário de Diagnóstico WMI estava disponível anteriormente no Centro de Download.

Como redator de fornecedores, poderás também encontrar questões de depuração, a menos que estejas a escrever um fornecedor desacoplado. Para obter mais informações, consulte Fornecedores de depuração.

Registo e rastreio

Os arquivos de log WMI não existem mais; eles foram substituídos por Event Tracing for Windows (ETW). Para obter mais informações, consulte Rastreando a atividade WMI, Registrando a atividade WMIe arquivos de log WMI.

Solução de problemas em scripts e aplicativos

WMI contém um conjunto de classes para a resolução de problemas de aplicações cliente que usam provedores WMI. Para obter mais informações, consulte Solução de problemas de aplicativos cliente WMI.

Como os desenvolvedores de provedores podem evitar problemas de WMI

Os fornecedores-escritores podem evitar muitos problemas (que aparecem em mensagens de erro através do WMI) adotando as seguintes ações:

  • Registar corretamente o seu fornecedor. Para obter mais informações, consulte Registrando um provedor.
  • Adicionar a instrução #pragma autorecover ao arquivo MOF (Managed Object Format) que define as suas classes de provedor.

Para obter mais informações, consulte Provedores de depuração, Fornecer dados para o WMIe Configuração do provedor e classes de resolução de problemas.

Acesso negado

Os erros de de acesso negado que são relatados por scripts e aplicativos que acessam namespaces e dados WMI geralmente se enquadram em três categorias. A tabela a seguir lista as três categorias de erros, juntamente com os problemas que podem causar os erros e possíveis soluções.

Erro Possíveis problemas Solução
0x800706BA HRESULT_FROM_WIN32(RPC_S_SERVER_UNAVAILABLE)
Problema de firewall ou servidor não disponível.
O computador realmente não existe ou o Firewall do Windows está bloqueando a conexão
Conectando-se ao Vista: netsh advfirewall firewall set rule group="Windows Management Instrumentation (WMI)" new enable=yes Conectando-se ao nível inferior: permita a regra "Administração Remota" no Firewall do Windows.
0x80070005 E_ACESSO_NEGADO
Acesso negado pela segurança DCOM.
O usuário não tem acesso remoto ao computador através de DCOM. Normalmente, erros DCOM ocorrem ao se conectar a um computador remoto com uma versão diferente do sistema operacional.
Dê ao usuário permissões de Início Remoto e Ativação Remota no dcomcnfg. Clique com o botão direito do rato em 'O Meu Computador' -> Propriedades. Em Segurança COM, clique em "Editar limites" para ambas as seções. Dê ao usuário que você deseja acesso remoto, inicialização remota e ativação remota. Em seguida, vá para Configuração DCOM, encontre "Instrumentação de Gerenciamento do Windows" e dê ao usuário que você deseja Início Remoto e Ativação Remota. Para obter mais informações, consulte Conectando entre diferentes sistemas operacionais
0x80041003 Acesso Negado
Acesso negado por um provedor de
O usuário não tem permissão para executar a operação no WMI. Isso pode acontecer quando você consulta determinadas classes como um usuário de direitos baixos, mas na maioria das vezes acontece quando você tenta invocar métodos ou alterar instâncias WMI como um usuário de direitos baixos. O namespace ao qual você está se conectando é criptografado e o usuário está tentando se conectar com uma conexão não criptografada
Dê ao usuário acesso com o Controle WMI (certifique-se de que ele tenha Remote_Access definido como true) Conecte-se usando um cliente que ofereça suporte à criptografia.
  • Normalmente, erros DCOM ocorrem ao se conectar a um computador remoto com uma versão diferente do sistema operacional.

  • Os provedores também podem negar acesso a dados em namespaces específicos ou podem exigir certos níveis de segurança de conexão. Para obter mais informações, consulte Setting Client Application Process Security e Provider Hosting and Security.

  • Erros de acesso negado devido a alterações no Firewall de Conexão com a Internet (ICF).

    Para obter mais informações, consulte Conectando-se através do Firewall do Windows.

  • Um erro de acesso negado é retornado pela segurança DCOM quando um cliente de baixa integridade tenta acessar o WMI. Por exemplo, um controle ActiveX em execução no Internet Explorer, que tem o nível de segurança definido como baixo, não tem acesso para executar operações WMI locais.

    Windows 7: Usuários de baixa integridade têm permissões de apenas leitura para operações WMI locais.

Informações sobre erros

Quando recebes uma mensagem de erro do WMI, podes localizar a mensagem em Constantes de Erro WMI ou, para scripting, WbemErrorEnum. No entanto, as informações fornecidas apenas pelo erro são normalmente insuficientes para determinar o que está a acontecer. A corrupção do repositório WMI pode aparecer como classes ou instâncias "não encontradas".

Para obter mais informações sobre erros WMI:

Resolução de problemas do WMI

Rastreando a atividade WMI

Registrando a atividade do WMI