Jak naprawić „uruchamianie skryptów jest wyłączone w tym systemie” w programie PowerShell w systemie Windows 10

Jeśli wiesz, jak pisać proste skrypty PowerShell lub Batch, możesz zautomatyzować kilka rzeczy w systemie Windows 10. W rzeczywistości, nawet jeśli musisz poświęcić trochę czasu na napisanie idealnego skryptu, czas zaoszczędzony, gdy będzie dobrze będzie wart czasu, który spędziłeś na pisaniu. To powiedziawszy, skrypty mogą być niebezpieczne, ponieważ kiedy próbujesz uruchomić skrypty w PowerShell, pojawia się dość długi komunikat o błędzie, który zasadniczo mówi, że „uruchamianie skryptów jest wyłączone w tym systemie”.

Jest to środek bezpieczeństwa w programie PowerShell, aby zapobiec uruchamianiu złośliwych skryptów i potencjalnym uszkodzeniu systemu. Oczywiście skrypt, który sam napisałeś, nie będzie złośliwy i powinien być w stanie go uruchomić. Aby rozwiązać ten problem, musisz zmienić zasady wykonywania w PowerShell. Oto jak.

Napraw działające skrypty są wyłączone w tym systemie

Otwórz PowerShell z uprawnieniami administratora i uruchom następujące polecenie.

Get-ExecutionPolicy -List

Spowoduje to wyświetlenie zasad wykonywania ustawionych dla użytkownika i komputera. Jest prawdopodobne, że obie, a przynajmniej zasady CurrentUser są ustawione na Ograniczone.

Aby naprawić błąd „uruchamianie skryptów jest wyłączone w tym systemie”, musisz zmienić zasady dla CurrentUser. Aby to zrobić, uruchom następujące polecenie.

Set-ExecutionPolicy RemoteSigned -Scope CurrentUser

Potwierdź, że chcesz dokonać zmiany, a będziesz mógł uruchomić skrypt.

Powinno to jednak pozwolić na uruchomienie większości skryptów, jeśli nadal pojawia się ten sam błąd, prawdopodobnie musisz zmienić zasady wykonywania dla komputera. Aby to zrobić, możesz zmodyfikować poprzednie polecenie, ale będziesz potrzebować do tego uprawnień administratora.

Uruchom to polecenie.

Set-ExecutionPolicy RemoteSigned -Scope LocalMachine

Potwierdź, że chcesz dokonać zmiany, a następnie spróbuj uruchomić skrypt.

To powinno wystarczyć, jeśli sam napisałeś skrypt, jeśli pobrałeś go online i nie jest on podpisany, musisz zmienić zasady wykonywania na Nieograniczone. Aby to zrobić, zamień „RemoteSigned” we wszystkich powyższych poleceniach na „Unrestricted”. Uważaj, które skrypty uruchamiasz, jeśli je pobierasz. Mogą być niebezpieczne.

Set-ExecutionPolicy

Jest to dość proste polecenie do ustawiania zasad wykonywania w PowerShell. To polecenie może mieć cztery różne parametry lub stany: Ograniczony, Wszystkie podpisane, Zdalne podpisane i Nieograniczone.

Przełącznik -Scope określa, do czego stosowana jest zmiana zasad. Po wprowadzeniu „CurrentUser” jest ono stosowane tylko do bieżącego użytkownika, a po wprowadzeniu „LocalMachine” jest stosowane do całego systemu