Como negar elevação a um programa?

12

O Windows tem uma lista "negar automaticamente a solicitação de elevação" ?

Se um usuário for um "usuário padrão" , é possível ter o Windows nega automaticamente quaisquer solicitações de elevação alterando o ConsentPromptBehaviorUser configuração de política de grupo para Negar automaticamente solicitações de elevação :

  • Prompt for credentials on the secure desktop. ( Padrão ) Quando uma operação exige elevação de privilégio, o usuário é solicitado na área de trabalho protegida a inserir um nome de usuário e senha diferentes. Se o usuário inserir credenciais válidas, a operação continuará com o privilégio aplicável
  • Prompt for credentials Quando uma operação requer elevação de privilégio, o usuário é solicitado a inserir um nome de usuário e senha administrativos. Se o usuário inserir credenciais válidas, a operação continuará com o privilégio aplicável
  • Automatically deny elevation requests Quando uma operação exige elevação de privilégio, uma mensagem de erro de acesso negado configurável é exibida. Uma empresa que está executando desktops como usuário padrão pode escolher essa configuração para reduzir as chamadas ao suporte técnico

This is useful in a situation where a program might prompt to elevate, but that would require the guy from helpdesk to run three buildings over (to enter their over the shoulder credentials). Only once they get there, they discover that the user shouldn't run that program.

We want the application to run as a standard user (possibly getting access denied errors), since that's the correct answer.

Mas essa configuração se aplica a todos programas que elevam. É possível

  • marca um programa ou
  • adicione-o a uma lista

para que seja automaticamente negado pedidos de elevação e seja executado como um usuário padrão?

O problema acontece quando um programa está errado:

  • marcado como requestedExecutionLevel de requireAdministrator em seu manifesto incorporado ou externo
  • teve a opção de compatibilidade "Executar este programa tem um administrador" marcada
  • está sendo detectado como um programa de configuração (por exemplo, é denominado install ou setup ) por meio do EnableInstallerDetection heurísticas

Nota: Supondo que a aplicação não tenha manifesto, pode-se sugerir a adição de um manifesto indicando requestedExecutionLevel: asInvoker . Essa solução também desabilitaria a virtualização de arquivos e registros para o aplicativo.

Veja também

por Ian Boyd 04.03.2012 / 13:47

1 resposta

4

Uma solução possível é usar duas políticas em comum:

  1. Configure o grupo ConsentPromptBehaviorUser já mencionado configuração de política para Negar automaticamente solicitações de elevação . Como declarado Na pergunta, isso afetará todos os programas executados.

  2. Próxima ENABLE o Controle de conta de usuário: somente elevar executáveis que são assinados e validados . (Da Microsoft) definição impõe verificações de assinatura de infra-estrutura de chave pública (PKI) para quaisquer aplicativos interativos que solicitem elevação de privilégio. Os administradores corporativos podem controlar quais aplicativos podem ser executados adicionando certificados aos editores confiáveis armazenamento de certificados em computadores locais.

  3. Assina os programas confiáveis com a chave da sua organização e publique-os para o armazenamento de certificados de Editores Confiáveis em todos os computadores em seu organização. Mais informações

por 10.03.2012 / 06:27