Share via


Definir a autenticação no WMI

Ao fazer chamadas fora do processo de chamada ou para um serviço WMI remoto, o WMI usa a versão distribuída do DCOM (Component Object Model). Chamadas remotas e fora do processo são feitas por meio de proxies, que exigem a autenticação das credenciais do processo de chamada.

Você define o nível de autenticação ao se conectar a um computador e namespace do WMI. Para se conectar ao WMI, chame IWbemLocator::ConnectServer em C++. No script ou no Visual Basic, você se conecta ao WMI usando SWbemLocator.ConnectServer ou por meio da cadeia de caracteres moniker. A segurança do DCOM e o WMI exigem determinados níveis de autenticação ao se conectar entre computadores. O nível necessário difere de acordo com o sistema operacional que você está conectando. Para obter mais informações, consulte Conexão ao WMI em um computador remoto.

O WMI normalmente é executado em um host de serviço compartilhado e compartilha a mesma autenticação que outros processos no host. Para executar o processo WMI com um nível diferente de autenticação, execute o WMI com o comando winmgmt com a opção /standalonehost e defina o nível de autenticação para WMI em geral. Para obter mais informações, consulte Manter a segurança do WMI.

Para obter mais informações e exemplos de código de como definir a autenticação para conexões WMI, consulte Definir o serviço de autenticação usando VBScript e Definir a autenticação usando C++. Esses tópicos também contêm tabelas que listam as constantes de autenticação para C++ e scripts.

Usar proxies no WMI

Para definir a autenticação de um proxy, chame a função CoSetProxyBlanket. Para obter mais informações e um exemplo de código, consulte Configurar a segurança no IWbemServices e em outros proxies.

Os seguintes objetos API COM para WMI usam proxies diretamente em C++ ou C# para chamar fora do processo ou para um serviço WMI remoto:

Os objetos de script, como SWbemObject, SWbemServices e SWbemRefresher, não usam proxies diretamente. Em vez disso, os objetos de script representam um encapsulamento ou camada que chama os objetos API COM para WMI listados acima. Para obter mais informações e um exemplo de código de configuração de autenticação no script, consulte Definir o nível de segurança do processo padrão usando VBScript.