У меня есть следующий код на С #Выполнить PowerShell как администратор C#
using (RunspaceInvoke invoker = new RunspaceInvoke())
{
invoker.Invoke("Set-ExecutionPolicy Unrestricted");
// ...
}
, который дает мне исключение
доступ к ключу реестра «HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ PowerShell \ 1 \ ShellIds \ Microsoft.PowerShell ' отрицается.
Согласно this, решение заключается в том, чтобы запустить PowerShell в качестве администратора.
Обычно это можно сделать, щелкнув правой кнопкой мыши PowerShell и выбрав «Запуск от имени администратора». Есть ли способ сделать это программно?
Это не работает для меня в Windows Server 2012 и PowerShell 3.0. :( – Anonymous
Я удивлен, что OP отметил это как ответ. В этом вопросе он заявляет: «Щелкнув правой кнопкой мыши PowerShell и выбрав« Запуск от имени администратора », что означает, что учетные данные, которые они запускают, уже входят в группу администраторов но они прекращаются замечательной безопасностью (кашель, кашель), которую добавила MS, называемая UAC. Решение, отправленное (и проверенное как), не затрагивает этого. Часть меня говорит, чтобы отметить это сообщение, потому что ответ не решает проблему * posted * question ... – Jason
Это очень старый код из проекта кода. 2005. Он не будет работать в Windows 2012. Мне нужно будет найти способ конвертировать его в 64 бит. –