Eu tenho um arquivo batch chamado test.bat
. Eu estou chamando as instruções abaixo no arquivo test.bat
:
start /min powershell.exe %sysdrive%\testScripts\testscript1.ps1
Quando corro isto através do prompt de comando, o meu testcript está a correr com sucesso. Eu quero executá-lo como administrador (como se eu tivesse criado um atalho na área de trabalho e executado como administrador). Ele deven't pedir por qualquer nome de usuário ou senha).
Eu tentei adicionar parâmetros /elevate' e
/NOUAC' nos acima mencionados `test.bat', mas sem sorte. Como faço para corrigir este problema?
Eu sei como fazê-lo manualmente, mas quero que isto seja executado a partir do prompt de comando.
(Por Marnix Klooster): ...sem usar nenhuma ferramenta adicional, como as sugeridas em an answer to Super User question How to run program from command line with elevated rights).
Experimenta isto:
runas.exe /savecred /user:administrator "%sysdrive%\testScripts\testscript1.ps1"
Ele salva a senha na primeira vez e nunca mais pergunta. Talvez quando você mudar a senha de administrador, você será solicitado novamente.
Veja este artigo TechNet: Documentação do comando Runas
De um prompt de comando:
C:\> runas /user:<localmachinename>\administrator cmd
Ou, se você'estiver conectado a um domínio:
C:\> runas /user:<DomainName>\<AdministratorAccountName> cmd
Parece que psexec -h
é a maneira de fazer isso:
-h If the target system is Windows Vista or higher, has the process
run with the account's elevated token, if available.
Que... não parece estar listado na documentação online em Sysinternals - PsExec.
Mas funciona na minha máquina.