Warum schlägt das Setzen von PowerShell auf set-executionpolicy remotesigned fehl?

37989
mbx

Mit Win7-32bit und Powershell ISE habe ich versucht, ein gerade gespeichertes Skript auszuführen (sagen wir, es enthält ein einfaches cls). Ich habe den Fehler erhalten, dass die Ausführung von Skripts mit dem üblichen Hinweis "get-help about_signing" verboten ist.

Bei der Verwendung von "set-executionpolicy remotesigned" zur Lösung habe ich einen Dialog erhalten, um zu überprüfen, ob ich sicher bin. Wenn ich jedoch einen anderen Fehler akzeptiere, wird Folgendes angezeigt:

acces to registry key "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell" denied + set-executionpolicy <<<< remotesigned + CategoryInfo : NotSpecified: (:) [Set-ExecutionPolicy], UnauthorizedAccessException + FullyQualifiedErrorId : System.UnauthorizedAccessException,Microsoft.PowerShell.Commands.SetExecutionPolicyCommand 

Was muss ich tun, um gespeicherte Skripte als Benutzer auszuführen (oder automatisierbar als Tagesdienst)?

13

3 Antworten auf die Frage

13
John Weldon

Sie müssen Powershell als Administrator ausführen, um die Ausführungsrichtlinie festzulegen.

Sobald Sie Remotesigned festgelegt haben, können Sie Powershell als normaler Benutzer ausführen.

Ich habe PowerShellISE als Administrator ausgeführt ... mbx vor 13 Jahren 1
Er bedeutet, dass Sie eine erhöhte Eingabeaufforderung ausführen müssen. Sie können mit der rechten Maustaste auf das PowerShell-Symbol in der Taskleiste oder im Startmenü klicken und "Als Administrator ausführen" auswählen. JasonMArcher vor 13 Jahren 5
7
mbx

Gehen Sie einfach in das Steuerungsfeld -> Verwaltung -> Windows PowerShell-Module (öffnet eine Powershell) und geben Sie die üblichen "set-executionpolicy remotesigned" ein. Das ist es.

0
Kyle

Ich habe die Lösung gefunden, indem ich die Berechtigungen direkt der Windows-Registrierung hinzufügte.

Hier darüber geschrieben: Powershell 101

Hoffe das hilft.