Dariush Gavari Ответов: 1

Как запустить файл .bat от имени администратора в коде C#


привет,
у меня есть этот код, чтобы создать файл .bat с помощью c# и запустить его.

var gt = txt_gateway.text;
            System.IO.StreamWriter SW = new System.IO.StreamWriter("route.bat");
            SW.WriteLine("route add 88.88.88.88 \"" + gt + "\"");
            SW.WriteLine("route add 89.89.89.89 \"" + gt + "\"");
            SW.Flush();
            SW.Close();
            SW.Dispose();
            SW = null;


этот код создает файл route.bat

в каталоге и хотите запустить этот файл .bat az administrator

как я могу использовать?

если какой-либо код может помочь мне запустить эту команду cmd от имени администратора, пожалуйста, помогите мне.

спасибо

Что я уже пробовал:

я пробую эти методы, но они не работают.

ProcessStartInfo sti = new ProcessStartInfo();
sti.FileName = "myScript.bat";
sti.Verb = "runas";
Process.Start(sti);


и

ProcessStartInfo psi = new ProcessStartInfo();
               psi.WorkingDirectory = "C:\\Diego\\PublishCore";
               //   psi.CreateNoWindow = true;
               psi.FileName = @"cmd.exe";
               psi.Arguments = "/c start /wait " + "C:\\Diego\\PublishCore\\Startup_InomCore.bat";
               //     psi.UseShellExecute = true;
               psi.Verb = "runas";
               var process = Process.Start(psi);

1 Ответов

Рейтинг:
2

OriginalGriff

Рискну процитировать самого себя:

Цитата:
Видеть здесь: Повышение уровня контроля учетных записей в управляемом коде: запуск повышенных процессов[^]

Если бы вы погуглили, то нашли бы этот вопрос с 2016 года: Ответ на вопрос: Как запустить bat-файл run as administrator с помощью C# .NET?[^]

В будущем, пожалуйста, постарайтесь сделать фундаментальные исследования для себя, а не тратить свое время или наше ...


Richard Deeming

Ваша вторая ссылка шла на форму, чтобы редактировать ваш ответ, а не привязка к самому ответу. Теперь я все исправил. :)