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 -ForceKrok 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
RegeditKrok 2
W oknie, które się wyświetli, przechodzimy do następującej trasy.
HKEY_LOCAL_MACHINE\OPROGRAMOWANIE\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShellKrok 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.mscKrok 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.