Executar .bat com permissão de administrador

.NET

C#

28/11/2018

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

Curtidas 0

Respostas

Vinicius Cavagnolli

Vinicius Cavagnolli

28/11/2018

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++]).
GOSTEI 0
POSTAR