Przewodnik krok po kroku dotyczący zmiany zasad wykonywania skryptów programu PowerShell

Przewodnik krok po kroku dotyczący zmiany zasad wykonywania skryptów programu PowerShell
  • Aby zmodyfikować zasady wykonywania programu PowerShell, uruchom program PowerShell (admin) i wykonaj polecenie „Set-ExecutionPolicy RemoteSigned”, aby umożliwić wykonywanie skryptów. Alternatywnie polecenie „Set-ExecutionPolicy AllSigned” zezwala tylko na skrypty od zweryfikowanych wydawców. Z drugiej strony polecenie „Set-ExecutionPolicy Unrestricted” zezwala na swobodne uruchamianie wszystkich skryptów.
  • Jeśli chcesz powrócić do ustawień domyślnych, użyj polecenia „Set-ExecutionPolicy Restricted”, aby całkowicie zabronić wykonywania skryptów.
  • Uprawnienia skryptu programu PowerShell można również dostosować za pomocą aplikacji Ustawienia systemu Windows 10 lub 11.

Domyślnie w systemie Windows 10 lub 11 próba uruchomienia skryptu w programie PowerShell może spowodować wyświetlenie komunikatu o błędzie „nie można załadować, ponieważ uruchamianie skryptów jest wyłączone w tym systemie” . Ten błąd występuje z powodu zasad wykonywania, które są stosowane w celach bezpieczeństwa, kontrolując sposób wykonywania skryptów i plików konfiguracyjnych w celu uniknięcia złośliwej aktywności w systemie.

Aby uruchomić skrypt w tych systemach operacyjnych, masz możliwość zmiany zasad wykonywania dla komputera lokalnego, bieżącego użytkownika lub samej sesji.

Podczas ustawiania zasad wykonywania dla bieżącego użytkownika lub komputera lokalnego, te informacje są przechowywane w rejestrze systemu Windows. Jednak jeśli ustawisz zasady tylko dla sesji, ta zmiana będzie trwała tylko do momentu zamknięcia programu PowerShell.

Jak stwierdził Microsoft , te zasady wykonywania nie nakładają ograniczeń na działania. Możesz je tymczasowo ominąć, wpisując skrypt bezpośrednio w wierszu poleceń. Celem tych zasad jest pomoc użytkownikom w unikaniu wykonywania szkodliwych skryptów.

W tym przewodniku znajdziesz szczegółowe instrukcje dotyczące modyfikowania zasad wykonywania, aby umożliwić prawidłowe wykonywanie skryptów w programie PowerShell w systemie Windows 10 lub 11.

Modyfikowanie zasad wykonywania w systemie Windows 11 za pomocą programu PowerShell

Aby zmienić zasady wykonywania programu PowerShell w systemie Windows 10 lub 11, wykonaj następujące czynności:

  1. Kliknij przycisk Start na urządzeniu z systemem Windows 11.

  2. Wyszukaj PowerShell , kliknij prawym przyciskiem myszy górny wynik i wybierz opcję Uruchom jako administrator .

  3. Wprowadź następujące polecenie, aby sprawdzić bieżącą politykę wykonywania i naciśnij Enter :

    Get-ExecutionPolicy

  4. (Opcjonalnie) Aby wyświetlić listę obowiązujących zasad wykonywania programu PowerShell, wpisz następujące polecenie i naciśnij klawisz Enter :

    Get-ExecutionPolicy -List

  5. Aby zezwolić na uruchamianie skryptów na komputerze z systemem Windows 11, wprowadź poniższe polecenie i naciśnij klawisz Enter :

    Set-ExecutionPolicy RemoteSigned

  6. (Opcjonalnie) Aby zapobiec wykonywaniu jakichkolwiek skryptów, możesz wpisać to polecenie i nacisnąć Enter :

    Set-ExecutionPolicy Restricted
    Zasady wykonywania zmian w programie PowerShell

Po wykonaniu tych kroków powinieneś móc pomyślnie uruchomić skrypt w systemie Windows 11. Jeśli w dowolnym momencie zechcesz cofnąć uprawnienia do wykonywania skryptu, możesz uruchomić opcjonalne polecenie opisane powyżej.

Jeśli musisz ustawić zasady wykonywania tak, aby zezwalały na wykonywanie skryptu tylko bieżącemu użytkownikowi lub urządzeniu lokalnemu, możesz użyć opcji „Zakres” w swoim poleceniu, w następujący sposób: Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUserlub Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope LocalMachine.

W systemie Windows 11 dostępne są cztery zasady wykonywania, za pomocą których można kontrolować, które skrypty mogą być uruchamiane:

  • Ograniczone — uniemożliwia wykonywanie wszystkich skryptów.
  • RemoteSigned — umożliwia tworzenie skryptów lokalnie, ale wymaga, aby skrypty z innych maszyn były podpisane przez zaufanego wydawcę.
  • AllSigned — zezwala na wszystkie skrypty, pod warunkiem, że są podpisane przez zaufane źródło.
  • Bez ograniczeń — umożliwia uruchamianie dowolnego skryptu bez ograniczeń.

Jeśli Twój skrypt nie wymaga określonych parametrów i nie dostarcza żadnego wyjścia, zmiana polityki wykonywania może nie być konieczna. Zamiast tego możesz użyć polecenia, PowerShell.exe -File "FILENAME"-ExecutionPolicy Bypassaby ominąć ograniczenia.

Modyfikuj zasady wykonywania w systemie Windows 11 za pomocą Ustawień

W systemach Windows 10 i 11 uprawnienia skryptów programu PowerShell można również zmienić za pomocą aplikacji Ustawienia.

Dla systemu Windows 11

Aby zaktualizować zasady wykonywania za pomocą aplikacji Ustawienia, wykonaj następujące kroki:

  1. Otwórz Ustawienia .

  2. Wybierz System .

  3. Przejdź do sekcji Dla programistów .

  4. Kliknij opcję PowerShell .

  5. Aktywuj przełącznik „Zmień zasady wykonywania, aby zezwolić na lokalne skrypty programu PowerShell […]” .

    Ustawienia systemu Windows 11 zmieniają wykonywanie programu PowerShell

Jeśli zdecydujesz, że nie chcesz już, aby ta opcja była włączona, po prostu wykonaj te same czynności, a w kroku 5 wyłącz przełącznik.

Dla systemu Windows 10

Aby zaktualizować zasady wykonywania programu PowerShell za pośrednictwem aplikacji Ustawienia, wykonaj następujące czynności:

  1. Otwórz Ustawienia .

  2. Wybierz Aktualizacja i zabezpieczenia .

  3. Przejdź do sekcji Dla programistów .

  4. Włącz opcję „Zmień zasady wykonywania, aby zezwolić na lokalne skrypty programu PowerShell […]” w ustawieniach programu PowerShell.

    Ustawienia systemu Windows 10 zmieniają wykonywanie programu PowerShell

  5. Kliknij przycisk Zastosuj , aby zapisać zmiany.

Jeśli chcesz wyłączyć tę funkcję, powtórz te same kroki, ale w kroku 4 dezaktywuj opcję i zastosuj zmiany.

Po wykonaniu tych kroków zasady wykonywania programu PowerShell zostaną ustawione na „RemoteSigned”, co umożliwi wykonywanie skryptów lokalnych bez konieczności składania podpisu, ale będzie wymagało weryfikacji skryptów zdalnych.

Modyfikuj zasady wykonywania, aby uruchamiać niepodpisane skrypty

Jeśli napotkasz skrypt programu PowerShell pochodzący z innego komputera lub pobrany z Internetu, próba jego uruchomienia może wygenerować błąd stwierdzający „Nie można załadować pliku […].ps1. Plik […].ps1 nie jest podpisany cyfrowo. Nie można uruchomić tego skryptu w bieżącym systemie” lub „Skrypt nie zostanie wykonany w systemie” . Jeśli jednak masz pewność, że jest on bezpieczny, a źródło jest wiarygodne, możesz dostosować zakres polityki „Proces”, aby zezwolić na jego wykonanie.

Błąd skryptu programu PowerShell, który nie jest podpisany cyfrowo
Skrypt programu PowerShell nie jest podpisany cyfrowo, błąd / Obraz: Mauro Huculak

Aby zmienić zasady wykonywania programu PowerShell w celu umożliwienia uruchomienia skryptu „.ps1” bez podpisu cyfrowego, wykonaj następujące kroki:

  1. Otwórz Start .

  2. Wyszukaj PowerShell , kliknij prawym przyciskiem myszy górny wynik i wybierz opcję Uruchom jako administrator .

  3. Aby zmienić zasady i zezwolić na niepodpisane skrypty programu PowerShell, wprowadź poniższe polecenie i naciśnij klawisz Enter :

    Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
    PowerShell zezwala na skrypt niepodpisany cyfrowo

Po wykonaniu tych kroków uruchom plik skryptu za pomocą polecenia .\Your-PowerShell-Script.ps1podczas bieżącej sesji. Należy pamiętać, że po zamknięciu sesji programu PowerShell zasady wykonywania zostaną zresetowane do poprzedniego stanu, uniemożliwiając uruchomienie innych skryptów bez dalszych zmian.

Jeśli musisz wykonać inny skrypt, możesz powtórzyć opisane kroki.

Aktualizacja 10 października 2024 r.: Niniejszy przewodnik został zmieniony w celu zapewnienia jego dokładności i uwzględnienia ostatnich zmian w procesie.

Źródło

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *