No Windows 7, existe uma linha de prompt de comando que pode iniciar o cmd como administrador? [duplicado]


39

Esta pergunta já tem uma resposta aqui:

No Linux, podemos usar

sudo bash

para executar um shell como superusuário.

No Windows 7, podemos usar

Menu Iniciar -> (na caixa de pesquisa, digite) cmd -> Clique com o botão direito do mouse no resultado da pesquisa e escolha Executar como administrador

para executar um prompt de comando como administrador. Existe também uma linha de prompt de comando semelhante à do Linux sudoou supara iniciar um shell como administrador?


11
Você também pode procurar por cmd (como você já faz) e pressionar "ctrl + shift + enter" para iniciar o programa selecionado como administrador.
Joshua

Respostas:


34

O runascomando é o mais próximo do que você está procurando:

runas /user:username cmd.exe

O formato é runaso nome de usuário que você deseja executar, outras opções e, em seguida, o programa que deseja executar.

Se você estiver em um domínio, poderá usar:

runas /user:DOMAIN\USERNAME cmd.exe

Isso pode ser executado na Runcaixa ( Win+ R) ou em uma janela de comando.

Observe, no entanto, que não é exatamente assim sudo- você não pode usá-lo para se elevar, basta executar algo como um usuário diferente. Se você já possui direitos administrativos, as runas da sua conta fornecerão o mesmo acesso que o comando regular (a menos, é claro, que você execute uma conta de administrador diferente , que concederá esses direitos ao novo shell).


2
Além disso, ao contrário sudo, runasnunca armazenará em cache a senha por um período de tempo. Portanto, se você estava planejando enfileirar alguns comandos rápidos como você pode, com execuções sucessivas de sudo. Então, basta abrir uma janela do console e executar seus comandos lá.
Joshua

então a forma mais curta é "runas / user: DOMAIN \ Administrator cmd.exe" uau ... isso é muito longo e difícil de lembrar ... e posso criar um alias, mas e se eu estiver no computador de outra pessoa e ajudando ? será uma boa ideia se a MS puder criar um comando especial chamado runasadmin?
Nopole

5
Joshua: A menos que você use /savecred.
#

+1, e para o administrador local runas /user:administrator cmd.exenão é difícil lembrar depois de uma dúzia de tipos. Tudo o que é é o próprio comando runasseguido pela /user:chave, seguido pelo usuário em que queremos executá-lo e, finalmente, o programa que queremos executar cmd.exe(o prompt de comando no nosso caso). Isso é o mais próximo de uma linha que você pode obter para executar prompts de comando elevados. Além disso, se você iniciar-> executar algumas vezes, haverá uma caixa de seleção para executar o programa elevado, não fiz nenhum esforço para descobrir o que faz com que ele apareça, mas é uma opção.
MDMoore313

2
Parece que, por padrão, o administrador não possui uma senha. E que a conta está realmente desativada. A conta do administrador precisa ser ativada primeiro, com uma senha e, em seguida, ela se torna um usuário real no qual você pode efetuar login e executar a execução.
CMCDragonkai

11

Tente criar um atalho para o cmd.exe. Clique com o botão direito> Propriedades. Clique no botão Avançado. E marque a caixa "Executar como administrador" e clique em OK.

Atribua uma tecla de atalho, se desejar.

E você também pode atribuir o local padrão para o prompt do CMD iniciar .. por exemplo,% CD%



3

Use SuRun .

Também funciona no Windows 8. Ele executa o aplicativo no modo "admin" sem aviso, mas você tem maior controle sobre quais aplicativos são executados (você pode vê-lo no applet do painel de controle do SuRun). Também funciona muito bem em um arquivo em lotes ...


apenas uma observação para o Windows 8 (e 8.1): não consegui iniciar um prompt de comando como administrador, porque o surun substitui - por configurações padrão - as runas internas funcionam nos menus de contexto.
Wolf

1

Crie um arquivo em lote como sudo.bat e digite os seguintes comandos e salve no PATH:

@echo Set objShell = CreateObject("Shell.Application") > %temp%\sudo.tmp.vbs
@echo args = Right("%*", (Len("%*") - Len("%1"))) >> %temp%\sudo.tmp.vbs
@echo objShell.ShellExecute "%1", args, "", "runas" >> %temp%\sudo.tmp.vbs
@cscript %temp%\sudo.tmp.vbs

Para usá-lo, por exemplo, sudo cmd net start fmsno entanto, o script não funcionará se houver aspas na linha de comando.


2
Isso resulta em solicitar ao usuário a caixa de diálogo UAC e executar o comando desejado em uma janela separada.
TOOGAM

1

Se você deseja uma solução de linha de comando: baixe o hstart em http://www.ntwind.com/software/hstart.html e extraia o hstart.exe ou o hstart64.exe para algum lugar do seu caminho. Você pode iniciar um prompt de comando elevado com hstart /runas cmdou hstart64 /runas cmd.

Mas a maneira mais rápida (conforme observado em um comentário da pergunta) ainda é pressionar o Windows, digite cmde pressione Ctrl+ Shift+ Enter.


1

Fiquei frustrado com as soluções existentes para isso, então escrevi um pequeno script do Node.js. que deveria ser mais familiar para os usuários do * nix.

Ele eleva o usuário atual sem solicitações de senha (apenas UAC ), redireciona stdin e stdout e é executado na mesma janela do console.

https://github.com/tehsenaus/windosu


Isso funciona muito bem - basta dizer sudo <command>e pressionar Alt + Y na caixa de diálogo do UAC.
Brian Burns


0

Incluo comandos sue genuínos sudono meu shell Hamilton C para executar um comando como outro usuário ou elevado (com o prompt do UAC) ou ambos, ou seja, elevado como outro usuário. Ao contrário runase outras alternativas, a minha sue sudosei como passar diretórios atuais, variáveis de ambiente e longas linhas de comando. Este é um produto comercial, mas existe uma versão gratuita . Divulgação completa: sou o autor. Mas também fico feliz em responder a perguntas.


Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.