Página Inicial > Sem categoria > Como desativar o UAC para um programa específico.

Como desativar o UAC para um programa específico.

Toda pesquisa que eu havia feito mostrava que isso era impossível. Eu achava que deveria ser possível, usando algum tipo de “credencial suprema” marcar um programa que precisa rodar como Administrador como confiável e fazer com que ele parasse de ativar o UAC. Não encontrei nada.

Então o leitor Marcelo me deixou esta dica em outro post.

É tão simples que ler sobre o método (eu nem tentei usar o programa disponível lá, até mesmo porque o Avast reclama que é maligno) foi fascinante. Tudo o que você precisa fazer é o seguinte:

  • Agendar uma tarefa que aponta para o programa, sem “agendar” nada realmente.
  • Tomar o cuidado de marcar “Run with highest privileges”.
  • Criar um atalho que roda essa tarefa manualmente.

Simples e eficiente. Criei uma tarefa chamada “NotepadElevado” apontando para o notepad e depois um atalho com o seguinte target:

schtasks.exe /run /tn “NotepadElevado”

Rodar o atalho abre uma janela do Notepad com privilégios de Administrador, sem ativar o UAC.

Para mim só essa possibilidade pode facilitar muito o uso do Seven no dia-a-dia. O UAC além de ser irritante pode fazer uma aplicação derrubar o Aero.

Configurações essenciais ou úteis:

Imagem de Como desativar o UAC para um programa específico. (seven TaskProperties General 570 ps 75)

Imagem de Como desativar o UAC para um programa específico. (seven TaskProperties Settings 570 ps 75)

Imagem de Como desativar o UAC para um programa específico. (seven TaskProperties Conditions 570 ps 75)

Preocupado com a segurança disso?

É possível criar tarefas agendadas programaticamente e em seguida rodar essas tarefas silenciosamente. Disso eu já tinha certeza. Mas a criação pode ser feita sem privilégio de Administrador, assim como fazemos manualmente (note que a GUI do Agendador de Tarefas não roda elevada, mas cria tarefas que rodam elevadas)? A lógica dizia que não, porque se fosse possível já teria sido explorado por algum malware. Afinal uma busca por “Run with highest privileges” no Google me levou a esta página de 2007 onde o método já era explicado. Incidentalmente esse mesmo texto dá a resposta final ao explicar como tarefas podem ser criadas automaticamente com o Powershell. O Autor aproveita para deixar claro que “Schtasks must be run elevated to be able to create tasks”.

Categories: Sem categoria Tags:

Posts relacionados (lista gerada automaticamente)

  1. 5, janeiro, 2010 em 13:45 | #1

    Muito bacana essa solução. Já tinha me esquecido deste detalhe pelo simples fato de que abandonei o UAC – por achar desnecessario.

    Eu sei bem o que uso, e o que visito. Não tenho esse problema de virus, uso o antivirus por usar. Mas a tempos não pego nada de outro mundo. A não ser a porcaria dos autorun.inf – mas já aprendi a lidar com eles.

    Eu uso a conta do administrador – renomeando e ativando ele – como meu usuario principal.

    Adeus UAC :P

  2. 5, janeiro, 2010 em 16:55 | #2

    Eu estou vendo uma outra opção ali que consideraria ESSENCIAL desmarcar: stop the task if it runs longer than 3 days

  3. 5, janeiro, 2010 em 17:05 | #3

    Hmmmm… olha só eu fazendo comentários duplos novamente… Não li todos os post antigos, logo não sei se você já abordou isso. Na instalação que estou testando do Windows Seven (versão RTM em PT-BR) eu optei por acabar definitivamente com UAC, conforme explicado aqui:

    http://www.blogsdna.com/1815/how-to-disable-uac-turn-off-uac-in-windows-7-beta-1-build-7000.htm

    Por enquanto não encontrei nenhum efeito colateral nas operações que fiz aqui.

    Outra coisa que me deixa profundamente irritado é a assinatura digital de drivers, que liquidei com essa dica:

    http://www.howinthetech.com/disabling-digital-driver-signing-in-windows-7/

  4. Jefferson
    5, janeiro, 2010 em 17:07 | #4

    Luciano,

    Eu não sei o que você tem em mente, mas como eu uso hibernação não seria muito difícil uma aplicação estar rodando legitimamente por mais de três dias no meu desktop (delphi, por exemplo). E eu não ia querer que o Windows encerrasse a tarefa abruptamente.

    Edit: Eu entendi errado o Luciano. Veja meu próximo comentário.

  5. Jefferson
    5, janeiro, 2010 em 17:21 | #5

    Gente,

    No momento, eu acho que empreender esforços para tirar o melhor proveito possível do UAC é melhor a médio e longo prazo, até mesmo porque eu preciso de soluções testadas e comprovadas que eu possa oferecer a meus clientes. Desligar o UAC não é opção nesses casos.

  6. 5, janeiro, 2010 em 17:29 | #6

    Ai é que esta, eu não desligo o computador, ele fica ligado 24 horas. Logo ele passa fácil fácil de 3 dias ligados interruptamente. E eu sou o tipo de usuário que DETESTA quando o computador fica dando palpite azedo.

    Poxa, se eu quero instalar um driver qualquer, me deixa instalar e não me encha de perguntas e alertas, eu estou ciente do estou fazendo e se der bobagem eu assumo os risco. Por isso que eu ainda estou testando o windows seven em uma VM e estou desligando o que posso dessas “malisses” :)

  7. Tom T
    6, janeiro, 2010 em 19:17 | #7

    salve Ryan, eu havia encontrado esta dica no Win7Forum, para rodar o CCleaner (que sempre necessita da permissão)

    http://www.sevenforums.com/114406-post71.html

    Tampouco desligo o UAC. Mas tb procurava um meio de ‘endossar’ um determinado aplicativo, acionado por mim.

  8. Jefferson
    8, janeiro, 2010 em 07:37 | #8

    Ai é que esta, eu não desligo o computador, ele fica ligado 24 horas. Logo ele passa fácil fácil de 3 dias ligados interruptamente.

    Raios… Eu entendi “marcar” onde você escreveu “desmarcar”. É claro que eu concordo com você.

  9. 17, setembro, 2010 em 05:18 | #9

    Testei o Application Compatibility Toolkit da MS mas não funcionou. Ele não pára de pedir o UAC para o TrueCrypt Portable com a mensagem "Editor desconhecido".

    Por outro lado, o Everything passou a funcionar, mas a base de dados dele zerou! Aparentemente ele perdeu o acesso ao drive C:.

  10. 18, setembro, 2010 em 10:04 | #10

    Tive a ideia de fazer um launcher e executá-lo como administrador, e a partir dele chamar o Everything e o TrueCrypt.

    Mas veja só: O Everything já pede elevação, e ele já é um launcher! Experimentei chamar o truecrypt a partir dele e voilá! Com o Everything eu posso chamar qualquer programa sem a encheção de saco do UAC, e sem desabilitá-lo.

    O único porém é que o Everything pede elevação na primeira vez que é usado (após o boot). Mas eu reinicio o Vista só 2x/mês (uso o hibernar direto). Então não tem problema.

  11. nuthis
    14, maio, 2012 em 18:27 | #11

    segui todos os passos mas na hora de criar um atalho nunca da certo, depois que eu crio e vo abrir, abre uma janela preta e fecha rapidamente o que eu to fazendo de errado?

    PS: a tarefa eu criei normalmente

  12. Sony Santos
    14, maio, 2012 em 23:14 | #12

    @nuthis
    Pode ser algum erro de digitação. Experimente abrir o prompt de comando, copiar e colar o texto do atalho (schtasks.exe /run /tn “NotepadElevado”), teclar ENTER e ver se aparece alguma mensagem de erro.

  13. Fedex
    14, junho, 2012 em 20:14 | #13

    olá estou tentando rodar um aplicativo portable na faculdade e não tenho acesso a nada!
    ateh o agendador está passando pelo uac…
    tem como tirar essa consistencia do aplicativo em casa e dai eu poder rodar ele em qualquer maquina sem acesso? seu metodo funciona pro meu proposito?

    • Jefferson
      14, junho, 2012 em 20:24 | #14

      Claro que não. Se o que você quer fazer fosse possível todo o trabalho de um administrador seria inútil. Este procedimento é para ser usado em computadores que você administra.

  1. Nenhum trackback ainda.

Este blog é moderado. Respeite as Regras do Blog ou seu comentário será ignorado.