Czasami system Windows blokuje dostęp do PowerShell, powołując się na opcję, która wyłącza uruchamianie skryptów. Oto jak to naprawić.
Uruchamiasz niektóre polecenia w PowerShell i nagle widzisz komunikat o błędzie, który brzmi: „Nie można załadować programu PowerShell, ponieważ uruchamianie skryptów jest wyłączone w tym systemie”.
Zastanawiasz się, co powoduje ten problem i jak możesz go rozwiązać? Przeprowadzimy Cię przez proste metody, które pomogą Ci rozwiązać ten problem raz na zawsze.
Zanurzmy się!
1. Uruchom PowerShell w trybie administratora
Czy obecnie korzystasz z programu PowerShell bez odpowiednich uprawnień administracyjnych? Jeśli tak, to być może w tym tkwi problem.
Przyjrzyjmy się zatem krokom, które należy zastosować, aby uruchomić narzędzie w trybie administratora:
- Naciskać Wygraj + X aby otworzyć menu szybkiego dostępu.
- Wybierz Windows PowerShell (administrator) opcja.
A jeśli to nie pomoże, sprawdź różne sposoby otwierania Windows PowerShell. Ale powinieneś skupić się tylko na metodach, które pokazują, jak uruchomić narzędzie z uprawnieniami administratora.
2. Zmień zasady wykonywania w PowerShell
W niektórych przypadkach zmiana zasad wykonywania może pomóc. Ale zanim przyjrzymy się rozwiązaniom, najpierw wyjaśnijmy, czym jest polityka wykonywania i jak działa.
Czym jest polityka wykonywania i jak działa?
Zasady wykonywania to funkcja zabezpieczeń, która kontroluje sposób uruchamiania skryptów programu PowerShell na urządzeniu. Po prostu określa, jakie typy skryptów można uruchamiać, a których należy unikać. Najlepsze jest to, że możesz skonfigurować tę politykę według własnych upodobań.
Oto opcje, które możesz wybrać podczas konfigurowania zasad wykonywania:
- Ograniczony: ta zasada zabrania uruchamiania jakiegokolwiek skryptu programu PowerShell.
- Nieograniczony: umożliwia uruchomienie dowolnego skryptu, ale wyświetla komunikat ostrzegawczy w przypadku uruchomienia podejrzanych skryptów.
- Podpisany zdalnie: Ta zasada wymaga podpisu cyfrowego podczas uruchamiania skryptów pobranych online. Nie wymaga jednak podpisu dla lokalnych skryptów.
- Objazd: Umożliwia to uruchomienie dowolnego skryptu bez żadnych ograniczeń. W przeciwieństwie do zasady „Bez ograniczeń”, zasada „ByPass” nie wyświetla żadnych komunikatów ostrzegawczych, gdy uruchamiasz podejrzane skrypty. Dlatego zawsze stosuj tę politykę tylko podczas uruchamiania legalnych skryptów.
- Wszystkie podpisane: ta zasada uruchamia tylko skrypty podpisane przez zaufanego wydawcę.
Teraz, jeśli regularnie używasz PowerShell, możesz od czasu do czasu zmieniać zasady wykonywania. Jednak niektóre zasady wykonywania mogą wyświetlać komunikaty o błędach podczas uruchamiania skryptów programu PowerShell.
Na przykład włączenie zasad „Ograniczone”, „Wszystkie podpisane” lub „Zdalne podpisane” może prowadzić do komunikatów o błędach, takich jak błąd „Uruchamianie skryptów jest wyłączone”.
Aby rozwiązać ten problem, wystarczy zmienić zasady wykonywania na „Nieograniczone” lub „Obejście”. Ale to nie wszystko; musisz także zdecydować, w jaki sposób polityka powinna zostać wdrożona. Na przykład, czy chcesz zastosować zasady dla wszystkich użytkowników, czy tylko dla bieżącej sesji programu PowerShell?
Przyjrzyjmy się wszystkim dodatkowym Polecenia PowerShella będziesz musiał dodać przy zmianie polityki wykonania:
- Aktualny użytkownik: Ta zasada zostanie zastosowana tylko do wszystkich sesji programu PowerShell osoby, która jest aktualnie zalogowana na urządzeniu.
- Maszyna lokalna: Dotyczy wszystkich użytkowników, którzy mają konto na urządzeniu. Tę zasadę mogą konfigurować tylko użytkownicy lokalni z uprawnieniami administratora.
- Proces: dotyczy tylko bieżącej sesji programu PowerShell. Oznacza to, że jeśli rozpoczniesz nową sesję, będziesz musiał ponownie wykonać tę zasadę.
- Zasady dotyczące maszyny: Ta zasada dotyczy wszystkich użytkowników, którzy mają konto na Twoim urządzeniu. Jednak może być skonfigurowany tylko przez administratorów sieci, którzy mają odpowiednie uprawnienia. Ale często lokalni administratorzy mogą skonfigurować te zasady wykonywania za pomocą Edytora lokalnych zasad grupy.
- Zasady użytkownika: Dotyczy wszystkich sesji programu PowerShell i skryptów wykonywanych przez określonego użytkownika.
Teraz, gdy wszystko jest jasne, przyjrzyjmy się, jak możesz zastosować odpowiednie zasady, aby rozwiązać problem „Nie można załadować programu PowerShell”.
Jak zmienić politykę wykonywania na „nieograniczoną”
Najlepszym sposobem rozwiązania tego problemu jest zmiana polityki wykonywania na „nieograniczoną”. Ale wcześniej musisz sprawdzić, jak skonfigurowana jest każda polityka wykonywania.
Oto kroki sprawdzania, jak skonfigurowane są zasady wykonywania:
- Naciskać Wygraj + X aby otworzyć menu szybkiego dostępu.
- Wybierać Windows PowerShell (administrator) z opcji.
- Wpisz następujące polecenie i naciśnij Wchodzić:
Get-ExecutionPolicy -Lista
Powinno to pokazać, w jaki sposób zasady wykonywania są skonfigurowane dla różnych użytkowników i systemów.
Aby zmienić politykę wykonywania na „Bez ograniczeń” dla bieżącego aktywnego użytkownika, wpisz następujące polecenie i naciśnij Wchodzić:
Ustawić-Zasady wykonywania nieograniczone -Zakres Aktualny użytkownik
Aby zmienić zasady wykonywania na „Bez ograniczeń” dla wszystkich użytkowników, wpisz następujące polecenie i naciśnij Wchodzić:
Ustawić-Zasady wykonywania nieograniczone -Zakres Maszyna lokalna
Po zakończeniu uruchamiania polecenia zamknij PowerShell i uruchom ponownie komputer, aby zapisać te zmiany.
Jak zmienić politykę wykonywania na „Obejście”
Zasady wykonywania „ByPass” pozwolą Ci bezproblemowo uruchomić dowolny skrypt PowerShell. Pamiętaj jednak, że może to również pozwolić na uruchamianie błędnych plików. Dlatego zawsze konfiguruj tę zasadę wykonywania tylko podczas uruchamiania godnych zaufania plików PowerShell.
Aby zmienić politykę wykonywania na „ByPass” dla bieżącego aktywnego użytkownika, wpisz następujące polecenie i naciśnij Wchodzić:
Ustawić-Obejście polityki wykonania -Zakres Aktualny użytkownik
Aby zmienić zasady wykonywania na „ByPass” dla wszystkich użytkowników, wpisz następujące polecenie i naciśnij Wchodzić:
Ustawić-Obejście polityki wykonania -Zakres Maszyna lokalna
Po zakończeniu zamknij program PowerShell, a następnie ponownie uruchom urządzenie.
3. Zmień zasady wykonywania za pomocą lokalnego edytora zasad grupy
Edytor lokalnych zasad grupy (LGPE) ułatwia również zmianę zasad wykonywania. W rzeczywistości to narzędzie może również pomóc w konfiguracji różnych ustawień systemowych lub rozwiązywaniu wielu problemów z komputerem.
Pamiętaj, że głównym celem jest zmiana zasad wykonywania, tak abyś mógł bezproblemowo uruchamiać skrypty PowerShell. W ten sposób pozbędziesz się błędu „uruchamianie skryptów jest wyłączone” w PowerShell.
Oto jak zmienić zasady wykonywania w LGPE:
- Typ Edytuj zasady grupy w pasku wyszukiwania menu Start i wybierz Najlepszy mecz. Ewentualnie sprawdź różne sposoby otwierania LGPE.
- Nawigować do Konfiguracja komputera > Szablony administracyjne > Składniki systemu Windows > Windows PowerShell.
- Kliknij dwukrotnie na Włącz wykonywanie skryptów opcja.
Sprawdź Włączony skrzynka. Stamtąd kliknij Polityka wykonania menu rozwijane i wybierz Zezwalaj na lokalne skrypty i zdalnie podpisane skrypty. Ta opcja jest podobna do opcji „RemoteSigned”, którą odkryliśmy wcześniej.
Jeśli chcesz uruchamiać wszystkie skrypty bez ograniczeń, wybierz Zezwalaj na wszystkie skrypty opcję z menu rozwijanego „Zasady wykonywania”.
Stamtąd kliknij Stosować a następnie kliknij OK aby zapisać te zmiany.
4. Zmień zasady wykonywania za pomocą Edytora rejestru
Jeśli inne metody nie pomogły, spróbuj zmienić zasady wykonywania za pomocą Edytora rejestru. Należy jednak zachować ostrożność podczas edytowania kluczy rejestru. Jeśli zmienisz niewłaściwe klawisze, możesz uszkodzić komputer.
Oto jak zmienić zasady wykonywania za pomocą Edytora rejestru:
- Naciskać Wygraj + R aby otworzyć okno dialogowe polecenia Uruchom.
- Typ regedit i naciśnij Wchodzić aby otworzyć Edytor rejestru.
- Skopiuj i wklej następujące polecenie w pasku adresu i naciśnij Wchodzić:
HKEY_LOCAL_MACHINE\OPROGRAMOWANIE\Microsoftu\PowerShell\1\ShellIds\Microsoftu.PowerShell
Zlokalizuj Polityka wykonania wartość po prawej stronie.
Jeśli brakuje wartości, utwórz ją, wykonując następujące czynności:
- Kliknij prawym przyciskiem myszy puste miejsce po prawej stronie.
- Wybierać Nowy > Wartość DWORD (32-bitowa)..
- Nazwij wartość jako Polityka wykonania i naciśnij Wchodzić.
Kliknij dwukrotnie na Polityka wykonania wartość. Następnie wpisz Podpisany zdalnie w sekcji „Dane wartości”. Umożliwi to programowi PowerShell wykonywanie lokalnych i podpisanych skryptów.
Ewentualnie wpisz Objazd w sekcji „Dane wartości”. Umożliwi to PowerShellowi wykonanie dowolnego skryptu bez ograniczeń.
Po wprowadzeniu preferowanej wartości w sekcji „Dane wartości” naciśnij OK aby zapisać zmiany. Na koniec zamknij Edytor rejestru, a następnie uruchom ponownie urządzenie.
Uruchamiaj swoje skrypty PowerShell bez żadnych ograniczeń
Może to być dość frustrujące, gdy nagle nie możesz wykonać niektórych poleceń w Windows PowerShell. Ale jeśli natkniesz się na błąd „skrypty są wyłączone”, rozwiązania, które omówiliśmy, powinny pomóc.
Czy PowerShell często powoduje inne problemy? Cóż, jest więcej rozwiązań, które mogą ci pomóc.