Ich habe folgende C# -CodeFühren Sie Powershell als Administrator von C#
using (RunspaceInvoke invoker = new RunspaceInvoke())
{
invoker.Invoke("Set-ExecutionPolicy Unrestricted");
// ...
}
die mir die Ausnahme
Zugriff auf den Registrierungsschlüssel gibt ‚HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Powershell \ 1 \ ShellIds \ Microsoft.PowerShell ' wird verweigert.
Nach this ist die Lösung, PowerShell als Administrator zu starten.
Normalerweise kann dies erreicht werden, indem Sie mit der rechten Maustaste auf PowerShell klicken und "Als Administrator ausführen" auswählen. Gibt es eine Möglichkeit, dies programmatisch zu tun?
Dies funktioniert nicht für mich auf Windows Server 2012 und PowerShell 3.0. :( – Anonymous
Ich bin überrascht, dass das OP dies als die Antwort markiert. In der Frage sagt er "mit der rechten Maustaste PowerShell und wählen Sie als Administrator ausführen", was bedeutet, dass die Anmeldeinformationen, unter denen sie ausgeführt werden, bereits ein Mitglied der Gruppe Administratoren ist Aber sie werden von der wundervollen Sicherheit (Husten, Husten) gestoppt, die MS hinzugefügt hat, UAC genannt. Die Lösung, die geschrieben (und abgehakt) wird, adressiert das nicht. Ein Teil von mir sagt, um diesen Beitrag zu markieren, weil die Antwort das nicht löst * posted * question ... – Jason
Dies ist sehr alter Code aus dem Code-Projekt 2005. Es wird nicht in Windows 2012 funktionieren. Ich müsste einen Weg finden, um es in 64 Bit zu konvertieren. –