Como verificar se um programa está configurado para ser executado como administrador?

2

Parece que há muitos tópicos perguntando como verificar se um prorgam está sendo executado como administrador ou como definir um programa para ser executado como administrador no Windows, mas minha pergunta é: Como posso verificar se um programa está configurado para ser executado? como administrador sem realmente executando? Eu preciso ser capaz de verificar isso de maneira automática também.

Sei que posso apenas clicar com o botão direito do mouse em um exe e verificar se um programa está configurado para ser executado como administrador, mas preciso verificar automaticamente se um aplicativo que estou executando precisa saber se um determinado .exe está configurado para ser executado como administrador ou não e tomar uma decisão com base nessa propriedade.

    
por Paul Reissmann 07.08.2018 / 18:37

1 resposta

2

Existem dois locais na interface do usuário padrão do Windows para saber se um executável ou atalho está configurado para ser executado como administrador.

Abra as propriedades do arquivo / atalho e, em seguida ...

  1. Para atalhos , clique no botão Avançado e veja o sinalizador Executar como administrador.
  2. Para os arquivos executáveis e atalhos , abra a guia Compatibilidade.

As configurações nesses dois locais têm o mesmo efeito, mas não são as mesmas.

O primeiro é uma propriedade do atalho e está vinculado ao atalho. Você pode testar isso definindo a propriedade em um atalho em um local de rede e, em seguida, executando o atalho em um computador diferente. Você será solicitado a fornecer a elevação antes que o atalho seja executado.

O segundo (Compatibilidade) é armazenado no registro do computador em que está configurado e as configurações feitas em um computador não serão automaticamente visíveis em outro computador sem algum outro mecanismo para propagar essas configurações. Eles são armazenados em dois locais no registro para aplicativo por usuário ou por usuário:

Todos os usuários: HKLM\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers

Por usuário: HKCU\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers

Eles podem ser lidos de maneira programática e em scripts, usando os componentes prontos do Registro disponíveis no idioma preferido.

    
por 07.08.2018 / 19:14