- Elevate *** - “executa um comando com elevação de privilégios UAC. Isto é útil para trabalhar dentro de comandos ou com ficheiros batch.” Não é o mesmo que
sudo
, muda o utilizador executante para Administrador, mas a sua sintaxe é muito mais simples de usar que runas
, e pode manter o directório actual, permitindo o uso de caminhos relativos.
Synopsis:
elevate [(-c | -k) [-n] [-u]] [-w] command
Options:
-c Launches a terminating command processor; equivalent to "cmd /c command".
-k Launches a persistent command processor; equivalent to "cmd /k command".
-n When using -c or -k, do not pushd the current directory before execution.
-u When using -c or -k, use Unicode; equivalent to "cmd /u".
-w Waits for termination; equivalent to "start /wait command".
O objectivo do Elevate não é trabalhar em torno ou contornar o UAC (User Account Control), mas sim trabalhar com ele. Desde que o UAC esteja activado, tem de ser uma espécie de prompt em algum ponto do processo. Se você precisa se livrar de um alerta, você tem que desabilitar o UAC .
O ponto de dor Elevate alivia um determinado processo a partir de uma concha não-privilegiada e depois continuar como normalmente. Sem isto tem de iniciar um comando privilegiado com clique com o botão direito do rato > “Run as Administrator” antes de tentar o comando privilegiado, o qual não pode ser facilmente programado.
Isto funciona bem com “Elevate without prompting” em secpol.msc
. Juntos, eles fazem o mesmo que %wheel ALL=(ALL) NOPASSWD: ALL
em sudo
Uma limitação conhecida é que não devolve o código de erro do programa que está a elevar.
Se a sua memória muscular está presa em sudo, crie um alias usando Doskey :
doskey sudo=elevate -w
ou batchfile em PATH:
@elevate -w %*
Elevate é uma ferramenta de terceiros escrita por Johannes Passing . É um download de 11kb e portátil (não é necessário instalar): http://code.kliu.org/misc/elevate/