programaticamente executar cmd.exe como administrador no Vista, C #
-
21-08-2019 - |
Pergunta
Eu tenho uma configuração visual studio e projeto de implantação. Eu adicionei um script .cmd nele. O script precisa de privilégios de administrador para ser executado. Quando o usuário clica sobre o setup.exe, UAC solicita ao usuário permissões de administração. Então eu assumi que todos os processos criados e chamados dentro setup.exe será executado na capacidade de administração. Então eu fiz a configuração chamar meu aplicativo de console que contém o seguinte código.
ProcessStartInfo p1 = new ProcessStartInfo();
p1.UseShellExecute = true;
p1.Verb = "runas";
p1.FileName = "cmd.exe";
Process.Start(p1);
Assim que deveria ter trabalhado como ele é executado sob espaço administrador.
Eu quero correr cmd.exe através de classe c # processo como uma administrator.I'm executando o Windows Vista.
Eu tentei não funcionou! O que posso fazer?
Solução
Tente executar o runas
comando :
...
using System.Diagnostics;
...
string UserName = "user name goes here";
ProcessStartInfo p1 = new ProcessStartInfo();
p1.FileName = "runas";
p1.Arguments = String.Format("/env /u:{0} cmd", UserName);
Process.Start(p1);
...
(E eu não acho que você precisa de um UseShellExecute explícito)
Outras dicas
Apenas Tente isso, Isso funcionou para mim.
...
using System.Diagnostics;
...
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.UseShellExecute = true;
startInfo.Verb = "runas";
startInfo.Arguments = "/env /user:" + "Administrator" + " cmd";
Process.Start(startInfo);
...
Ashutosh