A pergunta é razoavelmente respondida aqui: link
powershell Start-Process cmd.exe -Verb RunAs
Of course, the cmd.exe is just a placeholder.
Sou membro do grupo de administradores no Windows 7. Preciso executar foo.exe
de um Cmd ou Powershell. O arquivo exe requer elevação para funcionar, mas a elevação não é especificada em seu manifesto.
Normalmente eu tenho que fazer start .
para abrir o Explorer, clique com o botão direito do mouse no exe e selecione Executar como administrador.
Existe um caminho mais fácil? Eu não vou desligar o UAC, não quero ter senhas lembradas por senha ou evitar o prompt. Eu só quero evitar a necessidade de iniciar a janela do Explorer.
Sou membro do grupo de administradores. Eu não quero correr como outro usuário, eu só quero ver o prompt do UAC sem senha que eu vejo quando eu mesmo quando clicando com o botão direito no Explorer, mas sem abrir o explorador, executando ferramentas de terceiros, desabilitando o UAC, capacidade de fazer o mesmo de scripts ou lembrando credenciais.
Eu só quero chamar o prompt usual do UAC sem uma etapa intermediária.
Para esclarecer, quero a seguinte sequência:
Windows 7, UAC ativado, estou no grupo de administradores, o prompt do UAC está configurado para responder sim / não.
Abra um prompt de comando não elevado e navegue até uma pasta profunda e faça outras tarefas.
Eu executo 'elevate-command-sequence foo.exe' e um prompt do UAC é aberto exatamente da mesma maneira que é aberto quando clico com o botão direito no Explorer. O diretório atual do foo.exe está definido para a pasta profunda em que estou.
Gostaria de saber se existe elevate-command-sequence
em cmd ou powershell fora da caixa.
A pergunta é razoavelmente respondida aqui: link
powershell Start-Process cmd.exe -Verb RunAs
Of course, the cmd.exe is just a placeholder.
O prompt de comando não pode inicializar nativamente aplicativos elevados se ele próprio não tiver sido iniciado em um estado elevado. É uma droga, mas é apenas parte do comportamento do Windows.
Se você quiser contornar isso, você deve usar uma ferramenta de terceiros que irá lançar o programa elevado para você. A partir de um rápido googling eu encontrei ELE , isso permitirá que você execute um programa em um estado elevado de um não prompt de comando elevado (depois de um UAC aparecer, é claro)
c:\>ele foo.exe
Tenho certeza de que existem mais um milhão de programas que fazem isso, diabos eu poderia escrever um em C # aqui nesta resposta.
namespace Sandbox_Console
{
public class Program
{
private static void Main(string[] args)
{
Process newProcess = new Process();
newProcess.StartInfo.Verb = "runas";
newProcess.StartInfo.WorkingDirectory = Environment.CurrentDirectory;
newProcess.StartInfo.FileName = args[0];
newProcess.StartInfo.Arguments = String.Join(" ", args, 1, args.Length - 1);
newProcess.Start();
}
}
}
Agora, esse código é muito frágil e não pode manipular coisas como espaços em argumentos agora, mas não seria difícil adicionar.
Talvez essa política de grupo "Como alterar" possa ajudar você:
Iniciar - > run
- > gpedit.msc
Navegue para Computer Configuration --> Policies-->Windows Settings-->Security Settings -->Local Policies-->Security Options
3.Altere o behavior of elevation prompt for administrator
(você pode derivar como quiser)
Reinicie o computador para efetuar alterações
Tags windows-7 uac shell-script