Como executar um aplicativo como "executar como administrador" no prompt de comando? [fechadas]

125

Eu tenho um arquivo em lotes chamado test.bat. Estou chamando as instruções abaixo no test.batarquivo:

start /min powershell.exe %sysdrive%\testScripts\testscript1.ps1

Quando executo isso no prompt de comando, meu script de teste está sendo executado com êxito. Quero executá-lo como administrador (como se eu tivesse criado um atalho na área de trabalho e executado como administrador. Não deve solicitar nenhum nome de usuário ou senha).

Eu tentei adicionar /elevatee /NOUACparâmetros acima test.bat, mas sem sorte. Como corrijo esse problema?

Eu sei como fazer isso manualmente, mas quero que isso seja executado no prompt de comando.

(Por Marnix Klooster ): ... sem usar nenhuma ferramenta adicional, como as sugeridas em uma resposta à pergunta do superusuário Como executar o programa na linha de comando com direitos elevados .)

Praveen Jakkaraju
fonte
84
Esta pergunta é OK para perguntar aqui e não deve ser encerrada como fora de tópico. É uma questão relacionada a programação e desenvolvimento de software. O programa DotNet e o C ++ têm capacidade de interagir com o sistema e outros programas, invocando o comando do console ou simplesmente através de um arquivo em lotes.
Steven Du
2
Isso foi útil para mim: superuser.com/questions/55809/… Às vezes, espera-se que "executar como administrador" signifique "executar com direitos elevados".
Utilizador
sudo.batpode ser útil para alguém. pastebin.com/taHp4FzR
Niklas R
1
Deverá ser transferido para superusuário em vez de fechado (e também marcada como duplicada de superuser.com/questions/55809/... )
Julien Kronegg

Respostas:

85

Tente o seguinte:

runas.exe /savecred /user:administrator "%sysdrive%\testScripts\testscript1.ps1" 

Ele salva a senha na primeira vez e nunca pede novamente. Talvez quando você alterar a senha do administrador, você será solicitado novamente.

Dhana
fonte
8
@BenVoigt por favor sugerir uma alternativa, então
Daniel Sokolowski
10
Tente powershell -Command "Start-Process 'C:\program.exe' -Verb runAs"(substitua C:\program.exepor seu comando), consulte superuser.com/questions/55809/…
Julien Kronegg
8
Por que é necessário digitar uma senha quando posso clicar com o botão direito do mouse em qualquer outro programa e executar como administrador sem inserir uma senha? Obrigado
RayLoveless
4
@BenVoigt Não assopre. Como qualquer comando de poder, é útil e necessário em contextos específicos.
b1nary.atr0phy
2
qualquer método usando o qual eu possa apenas inserir a senha de administrador no próprio comando initian. Ele pede a senha de administrador quando executo o comando inicial. Essa entrada pode ser fornecida em primeiro lugar? runas.exe /user:yash a.exe MyAwesomePassword
Yash Kumar Verma
22

Consulte este artigo do TechNet : Documentação de comando Runas

Em 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
John Ruiz
fonte
Reli sua pergunta e você não deseja ser avisado. Minha sugestão causará um prompt de senha. Desculpe!
31911 John Ruiz
12
Eu tentei este comando, ele está pedindo credencial, não deve pedir credenciais. como eu mencionei na minha consulta. se eu clicar com o botão direito do mouse no item da área de trabalho, execute-o como administrador, é o comportamento esperado.
Praveen Jakkaraju
6

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 ... parece não estar listado na documentação online do Sysinternals - PsExec .

Mas funciona na minha máquina.

Ben Curthoys
fonte
Não funciona aqui. Em vez disso, apenas recebo a saída da ajuda.
ygoe
7
Isso não parece funcionar para mim, a menos que eu o execute a partir de um processo que já tenha privilégios de administrador: "Não foi possível instalar o serviço PSEXESVC"
Vince
1
Eu nem tenho esse comando no Windows 10. - Não no prompt de comando ou no Power Shell.
BrainSlugs83
@ BrainSlugs83, você precisa baixá-lo, o link está na resposta.
Abel