PowerShell: nie można załadować pliku, ponieważ wykonywanie skryptu jest wyłączone w systemie

Microsoft zintegrował Windows PowerShell jako domyślną konsolę zarządzania w swoich domowych (Windows 10) i korporacyjnych (Windows Server) systemach operacyjnych, aby wykonywać setki zadań w prosty, bezpieczny i w pełni funkcjonalny sposób.

Teraz wśród zadań, które możemy wykonać za pomocą Windows PowerShell, jest wykonywanie skryptów, które mają za zadanie zautomatyzować rutynowe zadania lub wykonać jedno, w szczególności ułatwiając czynności administracyjne, i chociaż jest to coś naprawdę przydatnego, może nieść ze sobą pewne ryzyko, ponieważ Skrypt z złośliwa zawartość może wpływać na różne składniki systemu, takie jak rejestry lub usługi, wywierając negatywny wpływ na jego wydajność i działanie.

Z tego powodu Microsoft oferuje różne opcje, które jako użytkownicy możemy wybrać do wykonywania skryptów, od włączenia ich wszystkich niezależnie od ich źródła (nic nie jest zalecane) do ograniczenia ich wszystkich.

1. Wyświetl zasady wykonywania programu Windows PowerShell


Microsoft dostarcza nam szereg dyrektyw wykonawczych Windows PowerShell we wszystkim, co dotyczy skryptów, które są.

OgraniczonyJest to reguła domyślna i wraz z nią dozwolone jest wykonywanie poszczególnych poleceń, ale żadne skrypty nie zostaną wykonane, dodatkowo uniemożliwia wykonanie wszystkich plików skryptów, w tym plików konfiguracyjnych i formatów (.ps1xml), modułu pliki skryptów (psm1) i profile Windows PowerShell (ps1).

Allsigned (tylko podpisy)Za pomocą tego typu dyrektyw można wykonywać skrypty, w tym celu wymagane jest, aby wszystkie skrypty i pliki konfiguracyjne były podpisane przez zaufanego wydawcę, łącznie ze skryptami pisanymi na komputerze lokalnym, wymagane jest dodatkowe potwierdzenie przed wykonaniem skryptów niesklasyfikowanych wydawców którzy są lub nie są zaufani.

Zdalnie podpisanyDyrektywa ta umożliwia wykonywanie skryptów, w tym celu wymaga podpisu cyfrowego zaufanego wydawcy w skryptach i plikach konfiguracyjnych pobieranych z Internetu (w tym w programach do obsługi poczty e-mail i komunikatorów), nie wymaga podpisów cyfrowych w skryptach, które mają zostały napisane na komputerze lokalnym, to znaczy nie zostały pobrane z Internetu, a skrypty, które są pobierane z Internetu i nie są podpisane, można uruchamiać, jeśli są odblokowane, na przykład za pomocą polecenia cmdlet Unblock-File.

NieograniczonyDyrektywa ta daje nam możliwość uruchamiania niepodpisanych skryptów, co stanowi duże zagrożenie dla bezpieczeństwa, i ostrzega użytkownika przed wykonaniem plików konfiguracyjnych i skryptów pobranych z Internetu w celu zwiększenia bezpieczeństwa.

ObjazdDzięki tej dyrektywie nic nie jest blokowane i nie będą wyświetlane żadne ostrzeżenia ani komunikaty bezpieczeństwa, ta dyrektywa wykonania została zaprojektowana dla konfiguracji, w których skrypt Windows PowerShell jest zintegrowany z większą aplikacją lub w konfiguracjach, w których Windows PowerShell jest podstawą program, który ma własny model bezpieczeństwa.

NieokreślonyTa opcja wskazuje, że w bieżącym zakresie nie ma ustawionej zasady wykonywania, więc jeśli zasada wykonywania we wszystkich zakresach jest Niezdefiniowana, zasada automatycznego uruchamiania będzie Ograniczona, co jest domyślną zasadą wykonywania w systemie Windows 10.

Aby zobaczyć wszystkie dyrektywy Windows PowerShell, możemy wykonać następujące czynności. Teraz zobaczymy, jak ustanowić nową dyrektywę, aby poprawnie wykonać skrypt w Windows PowerShell.

 Get-ExecutionPolicy -List 

POWIĘKSZAĆ

2. Uruchom skrypt za pomocą polecenia ExecutionPolicy Windows PowerShell

Krok 1
Aby skorzystać z tej opcji, mamy dwie opcje uruchamiania w Windows PowerShell jako administratorzy, którymi są:

 Set-ExecutionPolicy -ExecutionPolicy RemoteSigned Set-ExecutionPolicy RemoteSigned -Force
Krok 2
Gdy którykolwiek z tych wierszy zostanie wykonany, możemy zweryfikować wynik za pomocą następującego polecenia cmdlet:
 Get-ExecutionPolicy -List

POWIĘKSZAĆ

3. Uruchom skrypt w Windows PowerShell za pomocą Edytora rejestru

Krok 1
W przypadku tej metody zaleca się utworzenie kopii zapasowej plików lub utworzenie punktu przywracania w przypadku jakiejś awarii, wtedy użyjemy następujących kluczy i wykonamy następujące czynności:

+ R

 Regedit 
Krok 2
W oknie, które się wyświetli, przechodzimy do następującej trasy.
 HKEY_LOCAL_MACHINE\OPROGRAMOWANIE\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell 
Krok 3
Tam klikniemy prawym przyciskiem myszy „Microsoft.PowerShell” i wybierzemy opcję „Nowa / Wartość ciągu”:

Krok 4
Ta nowa wartość będzie nazywać się „ExecutionPolicy”:

POWIĘKSZAĆ

Krok 5
Dwukrotnie klikniemy na tę wartość i w polu „Informacje o wartości” wpiszemy „RemoteSigned”:

Krok 6
Kliknij Akceptuj, a zobaczymy, że ta dyrektywa jest stosowana:

POWIĘKSZAĆ

4. Uruchom skrypt w Windows PowerShell z zasadami grupy

Krok 1
Ta opcja jest dostępna w wersjach Pro i Enterprise systemu Windows 10 i aby uzyskać do nich dostęp, użyjemy następujących kluczy i wykonamy następujące czynności:

+ R

 gpedit.msc 
Krok 2
Po naciśnięciu Enter wyświetli się następujące okno, w którym przejdziemy do następującej trasy:
  • Konfiguracja sprzętu
  • Szablony administracyjne
  • Komponenty Windows
  • Windows PowerShell

Krok 2
Tam wybieramy i otwieramy politykę o nazwie „Aktywuj wykonywanie skryptów”:

POWIĘKSZAĆ

Krok 3
W wyświetlonym oknie aktywujemy pole „Włączone” iw polu „Dyrektywa wykonania” możemy wybrać dowolną z poniższych opcji. Po zdefiniowaniu dyrektywy kliknij Zastosuj i OK, aby zapisać zmiany.

  • Zezwalaj tylko na podpisane skrypty
  • Zezwalaj na skrypty lokalne i zdalnie podpisane skrypty
  • Zezwól na wszystkie skrypty

Za pomocą każdej z tych metod możliwe będzie poprawne użycie skryptów w środowiskach Windows.

Będziesz pomóc w rozwoju serwisu, dzieląc stronę ze swoimi znajomymi

wave wave wave wave wave