Como negar elevação para um programa?

12

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

Se um usuário for um "usuário padrão" , é possível que o Windows negue automaticamente quaisquer solicitações de elevação , alterando a ConsentPromptBehaviorUserconfiguração da 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 segura a inserir um nome de usuário e senha diferentes. Se o usuário digitar credenciais válidas, a operação continuará com o privilégio aplicável
  • Prompt for credentialsQuando 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 digitar credenciais válidas, a operação continuará com o privilégio aplicável
  • Automatically deny elevation requestsQuando uma operação requer elevação de privilégio, uma mensagem de erro de acesso negado configurável é exibida. Uma empresa que esteja executando desktops como usuário padrão pode escolher essa configuração para reduzir as chamadas ao suporte técnico

Isso é útil em uma situação em que um programa pode solicitar a elevação, mas isso exigiria que o funcionário do helpdesk atropelasse três prédios (para inserir suas credenciais por cima do ombro ). Somente quando chegam lá, descobrem que o usuário não deve executar esse programa.

Queremos que o aplicativo seja executado como um usuário padrão (possivelmente obtendo erros de acesso negado ), pois essa é a resposta correta.

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

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

para que sejam negadas automaticamente solicitações de elevação e executadas como um usuário padrão?

O problema ocorre quando um programa foi erroneamente:

  • marcado como requestedExecutionLevelde requireAdministratorna sua manifesto incorporado ou externo
  • teve a opção de compatibilidade "Executar este programa tem um administrador" marcada
  • está sendo detectado como um programa de instalação (por exemplo, é nomeado installou setup) através das EnableInstallerDetectionheurísticas

Nota: Supondo que o aplicativo não tivesse manifesto, é possível sugerir a adição de um manifesto indicando requestedExecutionLevel: asInvoker. Essa solução também desativaria a virtualização de arquivos e registros para o aplicativo.

Veja também

Ian Boyd
fonte

Respostas:

4

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

  1. Defina a configuração de diretiva de grupo ConsentPromptBehaviorUser já mencionada como Negar automaticamente solicitações de elevação . Como indicado na pergunta, isso afetará todos os programas que são executados.

  2. Em seguida, habilite o controle de conta de usuário: eleve apenas os executáveis ​​assinados e a configuração de diretiva validada . (Da Microsoft) Essa configuração aplica verificações de assinatura da infraestrutura 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 ao armazenamento de certificados dos Editores Confiáveis ​​nos computadores locais.

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

Jeremy W
fonte
Aceito porque quase certamente não há resposta; e essas soluções alternativas seriam as melhores possíveis.
22812 Ian Boyd