Używam Windows Server 2008 jako administrator i próbowałem ustawić ExecutionPolicy jako Remotesigned dla PowerShell v2 w następujący sposób:
Set-ExecutionPolicy RemoteSigned
Ale dostałem ten błąd:
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
Jak to naprawić?
windows-server-2008
powershell
atricapilla
źródło
źródło
-Scope CurrentUser
jak sugeruje odpowiedź JanusaStephen Jennings w odpowiedzi na to samo pytanie na StackOverflow:
Spowoduje to ustawienie zasad wykonywania dla bieżącego użytkownika (przechowywanego w HKEY_CURRENT_USER) zamiast na komputerze lokalnym (HKEY_LOCAL_MACHINE).
źródło
W przypadku, gdy „Uruchom jako administrator” nie działa dla ciebie (początkowo nie dla mnie) lub jeśli chcesz stałego rozwiązania, znalazłem poprawkę, dodając uprawnienia bezpośrednio do rejestru systemu Windows. Po zrobieniu tego, gdy zadzwoniłem do get-ExecutionPolicy, nie powróciło już ograniczone.
Jest to odpowiednik set-ExecutionPolicy RemoteSigned, a faktycznie działa.
Napisałem o tym tutaj: http://kyleclegg.com/powershell/
Mam nadzieję że to pomoże.
źródło
Przekonałem się, że jedynym rozwiązaniem tego błędu, który zadziałał, było uruchomienie regedt32 i przejście do klucza, a następnie zmiana uprawnień użytkowników z odczytu na pełną kontrolę. Lokalne uprawnienia na serwerze mają pierwszeństwo przed prawami administratora domeny.
źródło