Я хочу выполнить скрипт Powershell через C # с правами администратора.
Я пытался разными способами, но безрезультатно.
Лучшее, что я могу сделать, - это запустить процесс (System.Diagnostics.Process.Start (p)) с глаголом runas. Таким образом, если пользователь, выполняющий службу, является администратором, я могу запустить сценарий powershell.
Но мне нужно запустить службу с пользователем с низкими привилегиями и, при необходимости, войти в систему с администратором и выполнить скрипт powershell.
Я пытался выдать себя за администратора, но это не сработало ...
Ответ Выполнение PowerShell в качестве администратора из C # не решило проблему, я все еще не могу запустить свой скрипт. Ответы с 2009 года, я надеюсь, что кто-то решил эту проблему в то же время.
// powershell script execution
var processInfo = new System.Diagnostics.ProcessStartInfo
{
Verb = "runas",
LoadUserProfile = true,
FileName = "powershell.exe",
Arguments = scriptPath,
RedirectStandardOutput = true,
UseShellExecute = false
};
var p = System.Diagnostics.Process.Start(processInfo);