Como executar um prompt de comando elevado a partir do prompt de comando?

2

Eu tenho conectado remotamente a um computador com Windows 7 via psexec e estou executando um prompt de comando remoto no computador com Windows 7. O comando que estou tentando executar requer que ele seja executado em um prompt de comando elevado para que ele funcione.

Como faço para chegar a um prompt de comando elevado se meu ponto de partida é um prompt de comando que não é elevado e não tenho acesso à GUI?

    
por Chris Magnuson 25.10.2009 / 18:34

4 respostas

5

Eu lutei com isso no passado, e isso não pode ser feito. A única maneira é criar uma tarefa agendada que você execute a partir da sua sessão cmd.

    
por 25.10.2009 / 18:40
1

Parece difícil de fazer depois de se conectar. A Microsoft tem um Powertoy para instalar para forçar a elevação em um comando, mas como o prompt precisa ser exibido e aceito, não entendo como isso funcionaria no seu cenário (acho que nem um pouco).

elevate cmd.exe

No entanto, usar o comando de voz Powershell, em vez disso, provavelmente resolveria isso, pois ele se elevará ao conectar remotamente o afaik. Eu acho que o psexec deve ser capaz de implementar esse tipo de suporte também - mas você teria que solicitar um contexto elevado na conexão - não depois.

Claro, o truque de tarefas agendadas parece funcionar ... ^^

    
por 25.10.2009 / 20:00
1

O PSExec tem opções para especificar um nome de usuário e senha, o que é necessário ao executar uma tarefa em um computador remoto que requer acesso a recursos de rede (caso contrário, o PSExec é limitado a recursos locais). Conectar-se à conta apropriada deve fornecer o acesso necessário: tente psexec -u < nome de usuário > -p

Além disso, o comando runas executa um comando (até cmd) com os privilégios especificados. Eu não sei o quão bem ele joga com o PSExec devido ao problema mencionado acima, mas use a seguinte sintaxe para elevar os privilégios:

runas /user:<domain>\<username> cmd

Você será solicitado a fornecer uma senha; se digitado corretamente, você estará executando em um novo prompt de comando com os privilégios da conta especificada. Os privilégios podem ser limitados pelos privilégios com que o PSExec está sendo executado.

    
por 07.09.2011 / 21:29
0

No vista você pode desabilitar o UAC do cmdline usando um script. Usamos isso para desabilitar o UAC, reinicializar o computador, executar nossos scripts / instalações e, em seguida, habilitar o UAC novamente antes de dar ao computador uma última reinicialização.

Aposto que o Win7 tem uma maneira semelhante de fazer isso, embora eu ache que o comando mudou. Mas são apenas configurações do registro, portanto, seria bastante fácil roteirá-las diretamente no registro.

Desde que o seu script reconheça as informações, isso não deve ser muito difícil de implementar ...

-Trond

    
por 26.10.2009 / 09:03