So legen Sie ExecutionPolicy fest: Zugriff auf Registrierungsschlüssel verweigert


22

Ich verwende Windows Server 2008 als Administrator und habe versucht, ExecutionPolicy wie folgt als Remotesigned für PowerShell v2 festzulegen:

Set-ExecutionPolicy RemoteSigned

Aber ich habe diesen Fehler bekommen:

Set-ExecutionPolicy : Access to the registry key 'HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1\ShellIds\Microsoft
.PowerShell' is denied.
At line:1 char:20
+ Set-ExecutionPolicy <<<<  RemoteSigned
    + CategoryInfo          : NotSpecified: (:) [Set-ExecutionPolicy], UnauthorizedAccessException
    + FullyQualifiedErrorId : System.UnauthorizedAccessException,Microsoft.PowerShell.Commands.SetExecutionPolicyComma
   nd

Wie kann man das beheben?

Antworten:


24

Klicken Sie mit der rechten Maustaste auf die PowerShell-Verknüpfung und wählen Sie "Als Administrator ausführen".


5
Beachten Sie außerdem, dass Sie bei einem 64-Bit-Betriebssystem die Ausführungsrichtlinie sowohl für die 32-Bit- als auch für die 64-Bit-Version von PowerShell festlegen müssen.
Joey

Sie müssen es nicht als Administrator ausführen, sondern nur mit der -Scope CurrentUserAntwort von Janus
CharlesB,

12

Stephen Jennings als Antwort auf die gleiche Frage auf StackOverflow:

Set-ExecutionPolicy Unrestricted -Scope CurrentUser

Dadurch wird die Ausführungsrichtlinie für den aktuellen Benutzer (gespeichert in HKEY_CURRENT_USER) und nicht für den lokalen Computer (HKEY_LOCAL_MACHINE) festgelegt.


3
Vielen Dank. Dies ist die richtige Antwort. Nicht jeder hat Administratorrechte, aber das funktioniert immer noch.
Charles Clayton

4

Für den Fall, dass "Als Administrator ausführen" für Sie nicht funktioniert (zunächst nicht für mich) oder wenn Sie eine dauerhafte Lösung suchen, habe ich eine Korrektur gefunden, indem ich die Berechtigungen direkt zur Windows-Registrierung hinzugefügt habe. Nachdem ich dies getan habe, als ich get-ExecutionPolicy aufgerufen habe, kam es nicht mehr eingeschränkt zurück.

Es ist das Äquivalent von set-ExecutionPolicy RemoteSigned, wobei es tatsächlich funktioniert.

Schrieb hier darüber: http://kyleclegg.com/powershell/

Hoffe das hilft.


0

Ich stellte fest, dass die einzige Lösung für diesen Fehler, die für mich funktionierte, darin bestand, regedt32 auszuführen und einen Drilldown zum Schlüssel durchzuführen und dann die Berechtigungen für Benutzer von "Lesen" auf "Vollzugriff" zu ändern. Lokale Berechtigungen auf dem Server haben Vorrang vor den Domänenadministratorrechten.


Keine wirklich gute Antwort, da die anderen beiden Antworten bereits vorliegen ...
HopelessN00b
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.