Controle de Conta de Usuário e WMI

O UAC (Controle de Conta de Usuário) afeta os dados WMI que são retornados de uma ferramenta de linha de comandos, de acesso remoto e determina como os scripts devem ser executados. Para obter mais informações sobre o UAC, consulte Introdução ao Controle de Conta de Usuário.

As seções a seguir descrevem a funcionalidade UAC:

Controle de Conta de Usuário

No UAC, as contas no grupo administrador local têm dois tokens de acesso, um com privilégios de usuário padrão e outro com privilégios de administrador. Devido à filtragem de token de acesso UAC, um script normalmente é executado sob o token de usuário padrão, a menos que seja executado "como administrador" no modo de privilégios elevados. Nem todos os scripts exigiam privilégios administrativos.

Os scripts não podem determinar programaticamente se estão sendo executados sob um token de segurança de usuário padrão ou um token de Administrador. O script pode falhar com um erro de acesso negado. Se o script exigir privilégios de administrador, ele deverá ser executado no modo elevado. O acesso a namespaces WMI difere dependendo se o script é executado no modo elevado. Algumas operações WMI, como obter dados ou executar a maioria dos métodos, não exigem que a conta seja executada como administrador. Para obter mais informações sobre permissões de acesso padrão, consulte Access to WMI Namespaces and Executeing Privileged Operations.

Devido ao Controle de Conta de Usuário, a conta que executa o script deve estar no grupo Administradores no computador local para ter a capacidade de executar com direitos elevados.

Você pode executar um script ou um aplicativo com direitos elevados executando um dos seguintes métodos:

Para executar um script no modo elevado

  1. Abra uma janela do Prompt de Comando clicando com o botão direito do mouse no Prompt de Comando no menu Iniciar e, em seguida, clicando em Executar como administrador.
  2. Agende o script para ser executado com privilégios elevados usando o Agendador de Tarefas. Para obter mais informações, consulte Contextos de segurança para executar tarefas.
  3. Execute o script usando a conta de Administrador interna.

Conta necessária para executar ferramentas de Command-Line WMI

Para executar as ferramentas de Command-Line WMI a seguir, sua conta deve estar no grupo Administradores e a ferramenta deve ser executada em um prompt de comando com privilégios elevados. A conta de administrador interna também pode executar essas ferramentas.

  • mofcomp

  • Wmic

    Na primeira vez que você executar o Wmic após a instalação do sistema, ele deve ser executado em um prompt de comando com privilégios elevados. O modo elevado pode não ser necessário para execuções subsequentes do Wmic, a menos que as operações WMI exijam privilégio de administrador.

  • Winmgmt

  • wmiadap

Para executar o Controle WMI (Wmimgmt.msc) e fazer alterações nas configurações de segurança ou auditoria do namespace WMI, sua conta deve ter o direito Editar Segurança concedido explicitamente ou estar no grupo administradores local. A conta de Administrador interna também pode alterar a segurança ou a auditoria de um namespace.

Wbemtest.exe, uma ferramenta de linha de comando que não tem suporte Microsoft serviços de Suporte ao Cliente, pode ser executada por contas que não estão no grupo de Administradores local, a menos que uma operação específica exija privilégios que normalmente são concedidos às contas de Administrador.

Manipulando conexões remotas em UAC

Se você está se conectando a um computador remoto em um domínio ou em um grupo de trabalho, determina se a filtragem UAC ocorre.

Se o computador fizer parte de um domínio, conecte-se ao computador de destino usando uma conta de domínio que esteja no grupo de administradores local do computador remoto. Em seguida, a filtragem de token de acesso UAC não afetará as contas de domínio no grupo de Administradores local. Não use uma conta local não associada ao domínio no computador remoto, mesmo que a conta esteja no grupo Administradores.

Em um grupo de trabalho, a conta que se conecta ao computador remoto é um usuário local nesse computador. Mesmo que a conta esteja no grupo Administradores, a filtragem UAC significa que um script é executado como um usuário padrão. Uma prática recomendada é criar um grupo de usuários local dedicado ou uma conta de usuário no computador de destino especificamente para conexões remotas.

A segurança deve ser ajustada para poder usar essa conta porque a conta nunca teve privilégios administrativos. Dê ao usuário local:

  • Iniciar remotamente e ativar direitos para acessar o DCOM. Para obter mais informações, consulte Conectar-se ao WMI em um computador remoto.
  • Direitos para acessar o namespace WMI remotamente (Habilitação Remota). Para obter mais informações, consulte Acesso aos Namespaces WMI.
  • Direito de acessar o objeto protegível específico, dependendo da segurança exigida pelo objeto.

Se você usar uma conta local, seja porque você está em um grupo de trabalho ou é uma conta de computador local, você pode ser forçado a fornecer tarefas específicas a um usuário local. Por exemplo, você pode conceder ao usuário o direito de parar ou iniciar um serviço específico por meio do comando SC.exe, dos métodos GetSecurityDescriptor e SetSecurityDescriptor de Win32_Service ou por meio da Política de Grupo usando Gpedit.msc. Alguns objetos protegíveis podem não permitir que um usuário padrão execute tarefas e não oferecem meios para alterar a segurança padrão. Nesse caso, talvez seja necessário desabilitar o UAC para que a conta de usuário local não seja filtrada e, em vez disso, se torne um administrador completo. Lembre-se de que, por motivos de segurança, desabilitar o UAC deve ser um último recurso.

Não é recomendável desabilitar o UAC Remoto alterando a entrada do Registro que controla o UAC Remoto, mas pode ser necessário em um grupo de trabalho. A entrada do Registro é HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionPoliciessystem< c14>LocalAccountTokenFilterPolicy. Quando o valor dessa entrada é zero (0), a filtragem do token de acesso remoto do UAC é habilitada. Quando o valor é 1, o UAC remoto está desabilitado.

Efeito UAC nos dados WMI retornados para scripts ou aplicativos

Se um script ou aplicativo estiver em execução em uma conta no grupo Administradores, mas não estiver em execução com um privilégio elevado, talvez você não obtenha todos os dados retornados porque essa conta está em execução como um usuário padrão. Os provedores WMI para algumas classes não retornam todas as instâncias para uma conta de usuário padrão ou uma conta de administrador que não está em execução como um administrador completo devido à filtragem do UAC.

As seguintes classes não retornam algumas instâncias quando a conta é filtrada pelo UAC:

As seguintes classes não retornam algumas propriedades quando a conta é filtrada pelo UAC:

Sobre o WMI

Acesso a objetos protegíveis do WMI

Alterando a segurança de acesso em objetos protegíveis