Desativar o UAC faz com que meu programa seja executado com privilégios de não administrador

Desativar o UAC faz com que meu programa seja executado com privilégios de não administrador

Quero executar meu aplicativo de console c # como administrador sem UAC em uma conta que não seja de administrador. O problema é que quando eu desabilito o UAC com o Eiter Task Scheluder ou o Microsoft Compatibility Kit, meu aplicativo é executado com direitos de não administrador. A única vez que consigo abrir um aplicativo com privilégios de administrador é quando clico com o botão direito - executo como administrador e digito a senha. Mas eu não quero fazer isso. Quero executar o aplicativo em uma conta que não seja de administrador com privilégios de administrador. Não sei onde está o problema. Quando tento executar o aplicativo com "runas" e uso a conta Admin com a senha correta, aparece: acesso negado. Não sei se o problema está no meu aplicativo ou em outro lugar.

Obrigado

Responder1

Adicione o arquivo de manifesto do aplicativo e insira o código a seguir

<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />  

Responder2

O processo de usar o Agendador de Tarefas para “executar com os privilégios mais altos” não é a maneira de ignorar o UAC.

Se você tiver um aplicativo que precisa ser executado e interagir com o usuário conectado, esse aplicativo será executado com as permissões do usuário. Você pode usar o agendador de tarefas para executar uma tarefa como um usuário diferente, mas ele não interagirá com o usuário conectado. A execução de uma tarefa como o usuário conectado limita o aplicativo à permissão mais alta que o usuário possui.

O outro procedimento de uso do kit de ferramentas de compatibilidade de aplicativos também não resolve o problema. O que isso faz é pegar um aplicativo com comportamento incorreto que “exige” uma senha de administrador, mas na verdade não “precisa” de permissões de administrador, e faz com que ele seja executado sem nenhum prompt do UAC/administrador.

Se o seu aplicativo “requer” permissões de administrador, o usuário TEM que executar o aplicativo como outro usuário com permissões de administrador usando o nome de usuário e a senha desse usuário ou ele falhará.

Desativar o UAC no computador não apenas reduzirá severamente a segurança do sistema, mas também fará com que, ao executar qualquer aplicativo com uma conta de usuário limitada, você nem seja solicitado a elevar as credenciais de um usuário administrador e seu aplicativo, se exigir acesso de administrador, falhará.

O problema aqui é que seu aplicativo requer permissões de administrador. É isso que precisa ser consertado. O que está fazendo que requer permissões de administrador? Por que? Redesenhe-o para que isso não aconteça. Caso contrário, não existe uma maneira “segura” de permitir que um usuário não administrador execute um aplicativo com permissões de administrador. Não é mais uma prática aceitável, e não tem sido há anos, projetar aplicativos que exijam esse nível de permissão para uso de usuários padrão.

Se for absolutamente necessário que um usuário padrão execute um aplicativo como administrador, você pode usar o comando “runas” ou algumas ferramentas de administrador de terceiros que permitem que um usuário solicite acesso e um administrador responda remotamente para permitir o aplicativo. Novamente, o problema é o aplicativo, não o sistema operacional. Tentar contornar isso não seria aceitável na maioria dos casos de uso que exigiam que os usuários usassem contas limitadas em primeiro lugar.

informação relacionada