Oto jak w pełni wykorzystać możliwości programu Windows PowerShell, włączając zasady wykonywania skryptów.
iPowerShell domyślnie umożliwia uruchamianie poleceń (cmdletów) za pośrednictwem konsoli. Aby wykonać skrypt, możesz utworzyć plik notatnika z kodem skryptu, zapisać go z rozszerzeniem pliku .ps1 i wykonać za pomocą konsoli PowerShell. Możesz także bezpośrednio wkleić skrypt do konsoli w celu wykonania.
Jeśli jednak po raz pierwszy wykonujesz skrypt za pomocą programu PowerShell, napotkasz błąd „uruchomiony skrypt jest wyłączony”. Domyślnie wykonywanie skryptów w programie PowerShell jest wyłączone jako środek bezpieczeństwa zapobiegający uruchamianiu złośliwych skryptów w systemie. Tutaj pokazujemy dwa sposoby włączania zasad wykonywania skryptów w Windows PowerShell.
Jak sprawdzić istniejącą politykę wykonywania
Możesz użyć polecenia cmdlet programu PowerShell, aby uzyskać bieżące zasady wykonywania. Znajomość aktualnej polityki wykonania jest niezbędna, aby wiedzieć, czy potrzebujesz zmiany polityki, czy nie.
Aby uzyskać bieżące zasady wykonywania dla bieżącego użytkownika:
- Otwórz Windows PowerShell jako administrator.
- Wpisz następujące polecenie w konsoli PowerShell i naciśnij Enter:
Dostawać-polityka wykonania
- Ponieważ napotkałeś błąd podczas wykonywania skryptu, prawdopodobnie pojawi się komunikat zwrotny Ograniczony jako bieżąca polityka wykonania.
- Jeśli chcesz wyświetlić zasady wykonywania dla wszystkich obsługiwanych zakresów:
Dostawać-polityka wykonania -lista
Musisz zmienić zasady wykonywania na RemoteSigned, aby uruchamiać lokalne skrypty bez błędu. Zasady wykonywania można zmienić w aplikacji Ustawienia i programie PowerShell.
Jak włączyć zasady wykonywania programu PowerShell za pomocą aplikacji Ustawienia
Możesz zmienić i ustawić zasady wykonywania PowerShell na RemoteSigned za pomocą aplikacji Ustawienia. Wszystko, co musisz zrobić, to dostosować ustawienia PowerShell w sekcji dla programistów, aby zmienić zasady wykonywania, aby umożliwić wykonywanie skryptów PowerShell.
Aby zmienić zasady wykonywania za pomocą Ustawień:
- Naciskać wygrana + ja otworzyć SeTodcienie.
- Otworzyć prywatność i bezpieczeństwo zakładkę w lewym okienku.
- Następnie kliknij Dla programistów.
- Kliknij, aby rozwinąć PowerShell Sekcja.
- Przełącz przełącznik na zmień zasady wykonywania, aby umożliwić uruchamianie lokalnych skryptów PowerShell bez podpisywania — wymagaj podpisywania dla zdalnych skryptów.
- Po zakończeniu otwórz PowerShell, wpisz get polityka egzekucyjna, i naciśnij Wchodzić. Zasady wykonywania dla bieżącego użytkownika są teraz ustawione na Podpisany zdalnie.
- Jeśli chcesz wyłączyć zasady wykonywania, przełącz przełącznik PowerShell i ustaw go na Wyłączony.
Jak zezwolić na uruchamianie skryptów w PowerShell przy użyciu PowerShell
Możesz użyć A Polecenie cmdlet programu PowerShell aby ustawić zasady wykonywania na RemoteSigned. Interfejs wiersza poleceń ułatwia szybką zmianę zasad wykonywania bez korzystania z aplikacji Ustawienia.
Ponadto aplikacja Ustawienia może tylko włączać lub wyłączać zasady wykonywania RemoteSigned. Podczas gdy PowerShell pozwala również ustawić inne zasady i zakresy.
Aby zmienić zasady wykonywania za pomocą programu PowerShell:
- Otwórz PowerShell jako administrator.
- W oknie PowerShell wpisz następujące polecenie i naciśnij Wchodzić:
Ustawić-Zdalnie podpisane zasady wykonywania
- Jeśli pojawi się monit, naciśnij A aby potwierdzić działanie. Spowoduje to ustawienie Podpisany zdalnie zasady wykonywania dla wszystkich użytkowników. Jeśli chcesz ustawić zasady wykonywania dla Aktualny użytkownik użyj parametru Scope, po którym następuje nazwa użytkownika.
- Na przykład, aby ustawić Podpisany zdalnie polityka wykonania dla Aktualny użytkownik, użyj następującego polecenia:
Ustawić-ExecutionPolicy RemoteSgined -Zakres Aktualny użytkownik
- Zastępować Aktualny użytkownik w powyższym poleceniu z innymi użytkownikami (Zakres) zgodnie z wymaganiami.
Jak usunąć zasady wykonywania skryptów za pomocą programu PowerShell
Jeśli chcesz wyłączyć wykonywanie skryptu, ustaw zasady wykonywania na Nieokreślony używając te Ustaw_politykę wykonania polecenia cmdlet. Jest to stan domyślny, który uniemożliwia programowi PowerShell wykonywanie jakichkolwiek skryptów.
Aby wyłączyć wykonywanie skryptu przy użyciu PowerShell:
- Otwórz PowerShell z podwyższonym poziomem uprawnień.
- Następnie wpisz następujące polecenie i naciśnij klawisz Enter, aby wyłączyć wykonywanie skryptu dla wszystkich użytkowników:
Ustawić-Polityka wykonania nieokreślony
- Powyższe polecenie ustawi domyślną politykę wykonywania (niezdefiniowaną) dla wszystkich użytkowników. Jeśli chcesz wyłączyć wykonywanie skryptu dla określonego zakresu, użyj następującego polecenia:
Ustawić-Polityka wykonania nieokreślony -Zakres bieżącego użytkownika
- Powyższe polecenie wyłączy wykonywanie skryptu dla Aktualny użytkownik.
Zrozumienie zasad i zakresów wykonywania
Mówiąc najprościej, zasady wykonywania PowerShell to zasady, które kontrolują sposób, w jaki PowerShell wykonuje pliki konfiguracyjne i skrypty. Zamierzonym celem jest uniemożliwienie użytkownikom przypadkowego uruchomienia złośliwych skryptów. Siedem zasad wykonywania programu PowerShell to Domyślne, Ograniczone, Podpisane zdalnie, Wszystkie podpisane, Nieograniczone, Obejście i Niezdefiniowane.
Poniższa tabela krótko wyjaśnia wszystkie zasady wykonywania programu PowerShell:
Polityka wykonania |
Egzekwowanie |
Domyślny |
Ustawia domyślną zasadę wykonywania jako Restricted na kliencie Windows i RemoteSigned na Windows Server. |
Wszystkie podpisane |
Umożliwia wykonywanie skryptów podpisanych przez wydawcę. |
Objazd |
Nieograniczone wykonywanie skryptów dla większych aplikacji. |
Podpisany zdalnie |
Umożliwia wykonywanie skryptów zapisanych lokalnie. Wymaga podpisów cyfrowych dla skryptów pobranych z Internetu. |
Ograniczony |
Nie zezwala na wykonywanie skryptów, ale tylko pojedyncze polecenia PowerShell. |
Nieokreślony |
Ustawia zasady wykonywania na Ograniczone dla klientów Windows i RemoteSigned dla Windows Server. |
Nieograniczony |
Zezwalaj na wykonywanie niepodpisanych skryptów z ostrzeżeniem dla skryptów pobranych z Internetu. |
Zakres zasad wykonania
Możesz ustawić zasady wykonywania dla określonego zakresu w PowerShell. Pięć zakresów zasad wykonania to Zasady Maszyny, Zasady Użytkownika, Proces, Bieżący Użytkownik, I Maszyna lokalna.
Poniższa tabela krótko wyjaśnia wszystkie zakresy zasad wykonania:
Zakres zasad wykonania |
Egzekwowanie |
Zasady użytkownika |
Skonfigurowane przez zasady grupy dla bieżącego użytkownika. |
Zasady dotyczące maszyn |
Skonfigurowane przez zasady grupy dla wszystkich użytkowników. |
Bieżący użytkownik |
Skonfigurowany dla bieżącego użytkownika i przechowywany w podkluczu rejestru HKEY_CURRENT_MACHINE. |
Maszyna lokalna |
Skonfigurowany dla wszystkich użytkowników i przechowywany w podkluczu rejestru HKEY_CURRENT_MACHINE. |
Proces |
Wpływa na bieżącą sesję programu PowerShell i jest automatycznie usuwany po zamknięciu sesji. |
Dodaj lub usuń zasady wykonywania skryptów programu PowerShell w systemie Windows
Wykonywanie skryptów w PowerShell jest domyślnie wyłączone dla klientów Windows i ustawione na RemoteSigned dla serwera Windows. Zaawansowani użytkownicy mogą jednak zmieniać zasady wykonywania, aby uruchamiać lokalne, podpisane i niepodpisane skrypty PowerShell.
Alternatywnie możesz ominąć zasady wykonywania PowerShell, wklejając skrypt do konsoli PowerShell lub ECHO swojego skryptu do standardowego wejścia PowerShell. Jest to przydatne, jeśli chcesz wykonywać skrypty bez zmiany zasad wykonywania.