Solução de problemas do WMI
Ao acessar dados locais ou remotos do WMI em um aplicativo ou script, você pode encontrar erros que vão desde classes ausentes até acesso negado. Os provedores também têm disponíveis opções de depuração e classes de solução de problemas.
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 relacionada ao WMI, visite Suporte da Microsoft e pesquise 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, confira O WMI não está funcionando!
Utilitário de Diagnóstico WMI
Importante
Não há mais suporte para o Utilitário de Diagnóstico WMI (WMIDiag.exe
), 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 em provedores WMI. As falhas podem se originar em outras partes do sistema operacional e surgir como erros por meio do WMI. Em nenhuma circunstância, você deve excluir o repositório WMI como uma primeira etapa; porque a exclusão do repositório pode causar danos ao sistema ou aos aplicativos instalados.
Anteriormente, para obter mais informações sobre a origem do problema, você poderia baixar e executar a ferramenta de linha de comando de diagnóstico Utilitário de Diagnóstico WMI. Essa ferramenta produziu um relatório que normalmente poderia isolar a origem 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 um gravador de provedor, você também pode encontrar problemas de depuração, a menos que esteja escrevendo um provedor separado. Para obter mais informações, consulte Provedores de depuração.
Registro em log e rastreamento
Os arquivos de log WMI não existem mais; eles foram substituídos pelo ETW (Rastreamento de Eventos para Windows). Para obter mais informações, consulte Rastreamento da atividade WMI, Atividade WMI de registro em log e arquivos de log WMI.
Solução de problemas em scripts e aplicativos
O WMI contém um conjunto de classes para aplicativos cliente de solução de problemas que usam provedores WMI. Para obter mais informações, consulte Solução de problemas de aplicativos cliente WMI.
Como os provedores-gravadores podem evitar problemas de WMI
Os gravadores de provedor podem evitar muitos problemas (que aparecem em mensagens de erro por meio do WMI) executando as seguintes ações:
- Registrar seu provedor corretamente. Para obter mais informações, consulte Registrando um provedor.
- Adicionar a instrução #pragma autorecover ao arquivo MOF (Managed Object Format) que define suas classes de provedor.
Para obter mais informações, consulte Provedores de depuração, Fornecendo dados para WMI e Configuração do provedor e classes de solução de problemas.
Acesso negado
Os erros de acesso negado 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 problemas que podem causar 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 |
Conectar-se ao Vista: netsh advfirewall firewall set rule group="windows management instrumentation (wmi)" new enable=yes Conectar-se a downlevel: permitir a regra "Administração Remota" no Firewall do Windows. |
0x80070005 E_ACCESS_DENIED Acesso negado pela segurança do DCOM. |
O usuário não tem acesso remoto ao computador por meio do DCOM. Normalmente, ocorrem erros de DCOM ao se conectar a um computador remoto com uma versão diferente do sistema operacional. |
Conceda ao usuário permissões de Inicialização Remota e Ativação Remota no dcomcnfg. Clique com o botão direito do mouse em Meu Computador –> Propriedades. Em Segurança COM, clique em "Editar Limites" para ambas as seções. Forneça ao usuário que você deseja acesso remoto, inicialização remota e ativação remota. Em seguida, vá para Configuração do DCOM, localize "Instrumentação de Gerenciamento do Windows" e forneça ao usuário que você deseja Inicialização Remota e Ativação Remota. Para obter mais informações, consulte Conexão entre sistemas operacionais diferentes |
0x80041003 WBEM_E_ACCESS_DENIED Acesso negado por um provedor |
O usuário não tem permissão para executar a operação no WMI. Isso pode acontecer quando você consulta algumas classes como um usuário com direitos limitados, mas geralmente acontece quando você tenta invocar métodos ou alterar instâncias WMI como um usuário com direitos limitados. 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 (verifique se ele tem Remote_Access definido como true). Conecte-se usando um cliente que dê suporte à criptografia. |
Normalmente, ocorrem erros de DCOM 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 determinados níveis de segurança de conexão. Para obter mais informações, consulte Configurar a segurança do processo do aplicativo cliente e Hospedagem e segurança do provedor.
Erros de acesso negado de alterações no ICF (Firewall de Conexão com a Internet).
Para obter mais informações, consulte Conexão por meio do Firewall do Windows.
Um erro de acesso negado é retornado pela segurança do 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: os usuários de baixa integridade têm permissões somente leitura para operações WMI locais.
Informações sobre erros
Ao receber uma mensagem de erro do WMI, você pode localizar a mensagem em Constantes de erro do WMI ou, para scripts, WbemErrorEnum. No entanto, as informações fornecidas apenas pelo erro normalmente são insuficientes para determinar o que está acontecendo. Os danos no repositório WMI podem ser mascarados como classes ou instâncias "não encontradas".
Para obter mais informações sobre erros do WMI:
- O WMI registra eventos de rastreamento de dentro do núcleo WMI e de provedores. Para obter mais informações, confira Registro em log da atividade WMI.
- Use as Classes de solução de problemas do WMI para verificar o status interno do WMI ou receber notificações de eventos do provedor ou do serviço WMI. Para obter mais informações, consulte Configuração do provedor e classes de solução de problemas e Solução de problemas de aplicativos cliente WMI.