Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Se você usar a API de script para WMI, poderá definir privilégios de segurança específicos. Por exemplo, você pode definir os privilégios de segurança para solicitar um desligamento do sistema operacional ou para examinar o log de eventos de segurança. Para obter mais informações, consulte Executando com privilégios especiais.
Você só precisa definir privilégios quando estiver acessando o WMI no seu computador. Quando você está acessando um host remoto, o COM RPC define automaticamente os privilégios. Para determinar todos os privilégios necessários, consulte a documentação das classes WMI específicas que você deseja acessar, como Win32_OperatingSystem. Para obter mais informações, consulte WbemPrivilegeEnum
As seguintes seções são discutidas neste tópico:
- Definindo um privilégio do objeto Security_
- Definindo um privilégio como parte de um de apelido
- Revogação e redefinição de privilégios
- Tópicos relacionados
Definindo um privilégio do objeto Security_
Use o procedimento a seguir para definir privilégios de segurança no Visual Basic.
Para definir privilégios no Visual Basic
Crie um objeto do tipo SWbemLocator.
Adicione o novo privilégio ao objeto SWbemLocator.Security_.
O objeto Security_ contém uma coleção SWbemObjectSet. No conjunto, os objetos são SWbemSecurity objetos. Para obter mais informações, consulte acessando uma coleção.
Faça logon no WMI e recupere um objeto SWbemServices.
O objeto SWbemServices herda o privilégio definido na etapa anterior.
Você também pode definir um privilégio usando o métodoSWbemPrivilegeSet.AddAsString.
Configurar um privilégio como parte de um moniker
Você pode definir um privilégio como parte de um apelido.
O exemplo a seguir mostra como adicionar um privilégio de depuração a um moniker.
Set Service = GetObject("winmgmts:{impersonationLevel=impersonate, (Debug)}")
Revogando e redefinindo privilégios
O exemplo a seguir mostra como definir o SeDebugPrivilege privilégio e revogar o SeRemoteShutdownPrivilege privilégio.
Set Service = GetObject("winmgmts:{impersonate,(Debug,!RemoteShutdown)}")
Tópicos relacionados