Estou usando o Windows Vista, com o UAC ativado. Eu instalei um aplicativo e o instalador exigiu privilégios de administrador. O instalador iniciou o aplicativo. Gostaria de saber se o aplicativo continua sendo executado com privilégios de administrador.
Eu tentei o Gerenciador de tarefas do Windows e o Process Explorer, e nenhum deles parece mostrar essas informações.
Respostas:
No Process Explorer , clique duas vezes no processo para abrir suas propriedades. Vá para a guia Segurança . Na lista de grupos, localize BUILTIN \ Administrators e veja o que diz na coluna Sinalizadores .
Negar = Não elevado (não administrador)
Proprietário = Elevado (é administrador)
fonte
No Process Explorer, você pode alterar as colunas exibidas e adicionar a coluna "Nível de integridade" na guia "Imagem do processo":
Aparentemente, esse é o termo técnico para o que é alterado quando você executa um processo com privilégios de administrador. Se você executar o Process Explorer como administrador, ele mostrará processos comuns como nível de integridade 'médio' e processos elevados como 'alto'.
Observe que, se você executar o Process Explorer como um usuário comum, ele mostrará processos que possuem privilégios de administrador com uma entrada em branco na coluna Nível de integridade.
fonte
A atualização com os sistemas operacionais: Resource Monitor, que acredito estar incluída no Windows 7 e Windows 10 (não tenho certeza sobre o Vista), possui uma coluna 'Elevada' opcional na seção de lista de processos da guia CPU que parece ser bastante precisa.
fonte
Se você preferir usar ferramentas de linha de comando, o utilitário Accesschk do pacote MS Sysinternals pode ser usado para verificar se um processo está sendo executado com permissões de administrador.
Os seguintes sinalizadores são úteis para esse fim:
A
-p
opção (processo) aceita o nome ou o PID de um processo em execução.A
-v
opção (detalhada) imprime o nível de integridade do WindowsA
-q
opção (silencioso) impede que as informações da versão sejam impressas.A
-f
opção (completa) também pode ser usada para fornecer ainda mais informações sobre os processos (detalhes do token de segurança de usuários, grupos e privilégios), mas esse nível de detalhes adicionais não é necessário para verificar se há privilégios elevados.Exemplo
Liste os privilégios de todos os
cmd
processos em execução :Aqui, podemos ver que existem três
cmd
processos que iniciei. Os dois primeiros têm um nível obrigatório médio (integridade) e são mostrados como executando na minha conta de domínio, indicando que esses processos foram iniciados sem privilégios de administrador.No entanto, o último processo (PID 6636) foi iniciado com permissões elevadas, para que meu comando não privilegiado não possa ler informações sobre esse processo. Executar com permissões elevadas
accesschk
e especificar explicitamente seu PID imprime as seguintes informações:Agora podemos ver que o nível de integridade é alto e que esse processo está sendo executado
Administrators
no grupo de segurança interno.fonte