Warum schlägt das Setzen von Powershell auf die Einstellung der Ausführungsrichtlinie für Remotesigns fehl?

15

Unter Verwendung von 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 bekommen, dass das Ausführen von Skripten mit den üblichen "get-help about_signing" -Hinweisen verboten ist.

Bei der Verwendung von "set-executionpolicy remotesigned" zur Lösung wurde ein Dialogfeld angezeigt, in dem überprüft wird, ob ich sicher bin. Aber wenn ich einen anderen Fehler akzeptiere, kommt er auf:

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 soll ich tun, um gespeicherte Skripte als Benutzer auszuführen (oder als Tagesdienst automatisierbar)?

mbx
quelle

Antworten:

15

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

Sobald Sie die Remotesignierung aktiviert haben, können Sie Powershell als regulärer Benutzer ausführen.

John Weldon
quelle
1
Ich habe PowerShellISE als Administrator ausgeführt ...
mbx
5
Er bedeutet, dass Sie in einer erhöhten Eingabeaufforderung ausgeführt werden 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.
Jason März
7

Gehen Sie einfach zur Systemsteuerung -> Verwaltungstools -> Windows PowerShell-Module (öffnet eine Powershell) und geben Sie die übliche "Set-Execution-Policy Remotesigned" ein. Das ist es.

mbx
quelle
0

Ich fand die Lösung, indem ich die Berechtigungen direkt zur Windows-Registrierung hinzufügte.

Schrieb hier darüber: Powershell 101

Hoffe das hilft.

Kyle
quelle