Solução de problemas de uma conexão WMI remota

As seções a seguir descrevem problemas comuns que os desenvolvedores podem ter com a criação de uma conexão WMI remota.

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

Acesso DCOM negado

Sintoma

sua conexão falhou com o erro "Acesso DCOM negado", juntamente com o valor decimal -2147024891 ou valor hexadecimal 0x80070005.

Problema

O DCOM pode não estar configurado para permitir uma conexão WMI.

Resolução

Você pode definir as configurações do DCOM para WMI usando o utilitário DCOM Config (DCOMCnfg.exe) encontrado nas Ferramentas Administrativas no Painel de Controle. Esse utilitário expõe as configurações que permitem que determinados usuários se conectem ao computador remotamente por meio do DCOM. Os membros do grupo Administradores têm permissão para se conectar remotamente ao computador por padrão. Com esse utilitário, você pode definir a segurança para iniciar, acessar e configurar o serviço WMI.

Para obter mais informações, consulte Proteger uma conexão remota do WMI.

Falha ao conectar

Sintoma

Você não pode se conectar ao WMI em um sistema remoto.

Problema

Você pode estar tentando se conectar a um sistema que não dá suporte ao WMI. Não há suporte para as seguintes conexões entre as versões do sistema operacional:

  • Você não pode se conectar a um computador que esteja executando uma edição Starter, Basic ou Home.

Como alternativa, você pode estar tentando se conectar a um namespace que requer uma conexão criptografada, que requer um nível de autenticação de pktPrivacy, WbemAuthenticationLevelPktPrivacy ou RPC_C_AUTHN_LEVEL_PKT_PRIVACY.

Resolução

Para obter mais informações, consulte Proteger namespaces WMI, Proteger clientes e provedores C++ ou Definir o nível de segurança do processo padrão usando VBScript.

Tempo limite de conexão excedido do WMI

Sintoma

Sua conexão WMI atinge o tempo limite.

Problema

Devido a problemas de atraso de rede, o computador simplesmente não é capaz de responder a tempo.

Resolução

Ao se conectar ao WMI por meio de uma chamada a SWbemLocator.ConnectServer ou IWbemLocator::ConnectServer, você pode definir o sinalizador wbemConnectFlagUseMaxWait (por script) ou o WBEM_FLAG_CONNECT_USE_MAX_WAIT em valor C++ como 128 (0x80) para impor um tempo limite de dois (2) minutos na chamada.

Conexão ao WMI em um computador remoto