Executar .bat com permissão de administrador

28/11/2018

0

Boa tarde, queria chamar um .bat através de uma aplicação c#, mas eu queria executar esse bat como administrador já passando usuário e senha no meu código.
o código está assim hoje.
ProcessStartInfo proc = new ProcessStartInfo();
proc.UseShellExecute = true;
proc.WorkingDirectory = Environment.CurrentDirectory;
proc.FileName = @"\\\\zeus\\ATUALIZACAO\\Sistemas Cardio Nefron\\Aplicação\\Cardio1.bat";
Antonio Oliveira

Antonio Oliveira

Responder

Posts

01/12/2018

Vinicius Cavagnolli

Fala Antonio,

Se o aplicativo C# já estiver rodando como administrador, para iniciar o .bat/.cmd com elevação, é só adicionar a propriedade Verb = "runas" do objeto ProcessStartInfo.

proc.Verb = "runas";


Aí se as notificações do UAC estiverem configuradas para sempre notificar, vai ser aberto o diálogo do UAC (caso o usuário negar, ele levanta uma exceção). Senão ele executará com a conta de administrador que iniciou o aplicativo C# (lembrando que se a máquina não estiver logada com um usuário que é administrador, não tem como iniciar assim pelo C# [dá pra fazer em C/C++]).
Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar