Como desenvolvedor, muitas vezes tenho a necessidade de abrir um prompt de comando para vários propósitos. Por exemplo, eu uso iisreset
para reiniciar meu servidor web local.
Normalmente, abro a janela de comando de duas maneiras:
- Pressione Win, digite "cmd" e pressioneEnter
- Enquanto estiver no Explorer, mantenha pressionado Shifte clique com o botão direito do mouse em uma pasta e escolha "Abrir janela de comando aqui"
No entanto, quando abro a janela de comando de qualquer uma dessas maneiras, não tenho os privilégios totais de administrador aos quais sinto que tenho direito.
Para executar aplicativos apenas de administrador, tenho que abrir a linha de comando desta maneira relativamente trabalhosa:
- Pressione Win, digite "cmd"
- Aguarde o menu preencher
- Levante a mão do teclado e coloque-o no mouse
- Clique com o botão direito do mouse no item de menu "cmd.exe"
- Escolha "Executar como administrador"
Isso é inaceitável por vários motivos:
- A janela sempre é aberta em C: \ windows \ system32, em vez do meu
Users
diretório (como na técnica aprovada 1) ou da pasta em que quero estar (como na técnica aprovada 2). Por isso, muitas vezes tenho que mudar de diretório para chegar onde quero ir. - Esse processo é vários milissegundos mais lento que qualquer um dos meus métodos preferidos. Realizado várias vezes ao dia, todos os dias pelo restante da minha carreira, soma cerca de dez dias de tempo perdido, clicando e aguardando e alterando o diretório.
- Como programador, executar uma tarefa robótica sem sentido me causa uma grande dor emocional.
- Como programador, levantar minha mão é uma tarefa árdua que me causa uma grande dor física.
É por isso que estou procurando uma solução completa que permita que as técnicas aprovadas 1 e 2 abram prompts de comando do administrador.
Muitos programas permitem alterar permanentemente o nível de privilégio padrão no menu Propriedades. O prompt de comando não é um desses programas.
Como faço para que a janela de comando seja executada como administrador por padrão (mesmo ao usar a opção de menu de contexto "Abrir janela de comando aqui")?
Respostas:
Para responder à primeira parte da sua pergunta, quando você pressiona a tecla Windows e digita "CMD", pode pressionar Ctrl+ Shift+ Enterpara abrir como administrador.
Para responder à segunda parte da sua pergunta, cole o seguinte no bloco de notas e salve-o com uma extensão ".reg":
Em seguida, execute o arquivo Ele mesclará as alterações no registro e adicionará a opção aos seus menus de contexto. (Nenhuma tecla Shift é necessária.)
fonte
A guia Compatibilidade está completamente desabilitada para todos os executáveis do Windows:
Para definir privilégios de administrador para executáveis do Windows, você precisa criar um atalho e usar a guia Atalho →
Advanced
(o item do prompt de comando no menu Iniciar já é um atalho):Isso é normal e faz sentido, pois se você estiver abrindo um prompt de comando do administrador, provavelmente estará executando algumas ações do sistema para as quais precisa de privilégios de administrador, em vez de ações do usuário para as quais você já tem permissão.
Você pode definir o diretório padrão globalmente adicionando / editando a
Autorun
entrada do registro (ela nem precisa ser uma cadeia de caracteres expansível para usar variáveis de ambiente):Agora, sempre que você abrir um prompt de comando usando qualquer método , o padrão será automaticamente (bem, tecnicamente, o diretório de alteração ) para o diretório de perfil do usuário.
Melhor ainda, você pode adicionar outros comandos para serem executados automaticamente sempre que abrir um prompt de comando usando o
&
operador (por exemplo,cd /d %userprofile% & cls & dir
). Além disso, você pode definir o mesmo valor na mesma chave naHKLM
ramificação para defini-lo para todos os usuários.Observe que você ainda precisará aceitar o prompt do UAC. Infelizmente (atualmente?) Não há como criar uma "lista de permissões" do UAC de programas confiáveis, para que o prompt de comando possa ser executado como administrador sem ter que aceitar o prompt. Isso deixa você com (a) poucas opções.
useraccountcontrolsettings.exe
)No primeiro caso, você evita o UAC completamente, enquanto nos dois últimos insere suas credenciais apenas uma vez ao criar o atalho.
fonte
cd /d "%userprofile%"
execuções automáticas não apenas ao abrir uma nova janela do console, mas também sempre que um novo encadeamento de execução é chamado. Isso pode causar problemas, por exemplo, comfor /f
loops. Tente isso em um prompt do cmd:cd "\Program Files"
thenfor /f "delims=" %I in ('cmd /c cd') do @echo %I
. Você verá que ofor /f
loop acha que seu diretório de trabalho atual é $ home, não Arquivos de Programas. É mais seguro modificar ocmd
atalho e definir o destino como"%comspec%" /k cd /d "%userprofile%"
.%comspec% /c cd /d "%USERPROFILE%" & %comspec%
A solução que eu uso é abrir o prompt de comando, abrindo o menu Iniciar, digitando 'cmd' e pressionando Ctrl+ Shift+ Enter. Isso fará com que o programa selecionado seja iniciado como administrador.
fonte
Para executar automaticamente
CMD
como administrador sempre que é clicado (sem precisar clicar com o botão direito do mouse ou criar atalhos adicionais), existe uma solução fácil para isso:No Editor do Registro , navegue para:
HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers
Layers
pasta , será necessário criar uma e nomeá-la:Clique com o botão direito do mouse na
AppCompatFlags
pasta e selecione New→KeyClique com o botão direito
Layers
, selecione New→ String Value. Defina o nome do seu novo valor de sequência como o caminho completo para oCMD.EXE
prompt de comando (C:\Windows\System32\cmd.exe
) (ou seja )Clique duas vezes no novo valor da sequência para modificá-lo e defina os "Dados do valor" para
RUNASADMIN
.Eu tinha o mesmo aborrecimento e isso funcionou para mim.
fonte
Se você deseja que o CMD.exe seja sempre executado como administrador, basta adicionar o código de registro abaixo ao seu Registro:
fonte
Existem algumas ferramentas que eu usei que foram outras soluções alternativas (além do que Jesse mencionou).
Voltar quando o Vista foi lançado, a Microsoft saiu com um " elevar powertoy" que foi bastante útil e fez o trabalho e ainda, eu acredito (não testei) trabalha para o Windows 7. soltá-lo em seu ambiente de caminho e você pode executar "elevar iisreset" em um prompt de comando normal (ou até "elevar cmd" desde o início / execução ou criar um atalho)
fonte
A maneira mais fácil de contornar todo o sofrimento do UAC, etc, é configurar uma entrada do Agendamento de tarefas para executar o cmd.exe usando os privilégios mais altos. Não crie um evento Trigger para ele e verifique se a caixa de seleção Permitir que a tarefa seja executada sob demanda está marcada na guia Configurações. Também na guia Configurações, verifique se o menu suspenso "Se a tarefa já está em execução e a seguinte regra se aplica" está definido como Não iniciar uma nova instância.
Em seguida, crie um atalho para isso na área de trabalho e execute-o a partir daí, ou através de uma tecla de atalho ou fixe o atalho na barra de tarefas.
Eu fiz isso no meu sistema Windows 7 e funciona perfeitamente.
fonte
Basta copiar e colar o cmd.exe e renomeá-lo como "cmda.exe" na pasta \ system32 \ (337 KB não é grande coisa ...). A opção "executar como administrador" nas propriedades do cmda.exe não ficará mais acinzentada e você pode configurá-la para sempre ser executada como administrador. Agora você terá dois prompts de comando: o primeiro é regular, o segundo possui um privilégio (a) dmin. É tão fácil digitar "cmda" na Winbarra de pesquisa quanto você faz com "cmd"!
Para o menu cmd in context com privilégio de administrador, verifique se você já possui o cmda.exe, adicione-o ao novo arquivo .reg e inicie-o
Você verá duas mesmas linhas no menu de contexto (shift); um prompt de comando não elevado e outro com "(Administrador)" adicionado.
É isso aí...
fonte
Crie um atalho para o cmd.exe, clique com o botão direito do mouse e selecione Propriedades. Na guia Atalho, selecione Avançado, marque Executar como Administrador.
fonte
Eu acho que a maneira mais fácil de sempre executar o cmd como administrador é criar o arquivo .reg com o código abaixo:
Cole isso no bloco de notas ou algo assim e salve como arquivo .reg. Nota: Isso faz com que o prompt de comandos seja executado como administrador para todos os usuários. Para executar sempre como administrador apenas no seu usuário, altere HKEY_LOCAL_MACHINE para HKEY_CURRENT_USER
fonte
Tudo graças a Jesse Brohinsky
Uma versão mais aprimorada. Isso também inclui o diretório em segundo plano que permite abrir também dentro da pasta. Além disso, você pode abrir o commandpromt como não administrador.
Além disso, você pode desativar o AdminApprovalMode. Dessa forma, você não precisa executar como administrador quando for administrador. http://helpdeskgeek.com/windows-7/turn-off-admin-approval-mode-in-windows-7/
fonte
A única outra maneira, além do que os Dracs mencionaram, é desativar completamente o UAC
fonte
O seguinte funciona para mim
você receberá o mesmo prompt do uac confirmando para o runas admin .. encontrou-o há algum tempo atrás @ stackexchange
fonte