Dlaczego ustawienie programu PowerShell na zdalne podpisanie programu set-wykonaniapolicy kończy się niepowodzeniem?

15

Korzystając z Win7-32bit i Powershell ISE, próbowałem uruchomić właśnie zapisany skrypt (powiedzmy, zawierający prosty cls). Wystąpił błąd polegający na tym, że wykonywanie skryptów jest zabronione przy pomocy zwykłej porady „get-help about_signing”.

Podczas korzystania z „set-wykonaniapolicy remotesigned” do rozwiązania, dostałem okno dialogowe, aby sprawdzić, czy jestem pewien. Ale jeśli zaakceptuję pojawi się kolejny błąd:

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

Co mam zrobić, aby uruchamiać zapisane skrypty jako użytkownik (lub automatyzować jako codzienna usługa)?

Mbx
źródło

Odpowiedzi:

15

Musisz uruchomić PowerShell jako administrator, aby ustawić zasady wykonywania.

Po ustawieniu opcji zdalnej obsługi możesz uruchomić program PowerShell jako zwykły użytkownik.

John Weldon
źródło
1
Uruchomiłem PowerShellISE jako administrator ...
mbx
5
On oznacza, że ​​musisz biegać z podwyższonym pytaniem. Możesz kliknąć prawym przyciskiem myszy ikonę PowerShell na pasku zadań lub w menu Start i wybrać „Uruchom jako administrator”.
JasonMArcher
7

Po prostu przejdź do panelu kontrolnego -> narzędzia administracyjne -> Moduły Windows PowerShell (otwiera PowerShell) i wpisz zwykłe „zdalnie podpisane polecenie set-wykonaniapolicy”. Otóż ​​to.

Mbx
źródło
0

Znalazłem rozwiązanie, dodając uprawnienia bezpośrednio do rejestru systemu Windows.

Napisałem o tym tutaj: Powershell 101

Mam nadzieję że to pomoże.

Kyle
źródło