Get-ExecutionPolicy
Pobiera zasady wykonawcze dla bieżącej sesji.
Składnia
All
Get-ExecutionPolicy
[[-Scope] <ExecutionPolicyScope>]
[-List]
[<CommonParameters>]
Opis
Aby wyświetlić zasady wykonywania dla każdego zakresu w kolejności pierwszeństwa, użyj Get-ExecutionPolicy -List. Aby wyświetlić obowiązujące zasady wykonywania dla sesji programu PowerShell, użyj Get-ExecutionPolicy bez parametrów.
Obowiązujące zasady wykonywania są określane przez zasady wykonywania ustawione przez Set-ExecutionPolicy i ustawienia zasad grupy.
Aby uzyskać więcej informacji, przejdź do about_Execution_Policies.
Przykłady
Przykład 1: Pobieranie wszystkich polityk wykonywania
To polecenie wyświetla zasady wykonywania dla każdego zakresu w kolejności pierwszeństwa.
Get-ExecutionPolicy -List
Scope ExecutionPolicy
----- ---------------
MachinePolicy Undefined
UserPolicy Undefined
Process Undefined
CurrentUser AllSigned
LocalMachine Undefined
Polecenie cmdlet Get-ExecutionPolicy używa listy parametru do wyświetlenia polityki wykonywania dla każdego zakresu.
Przykład 2. Ustawianie zasad wykonywania
W tym przykładzie pokazano, jak ustawić zasady wykonywania dla komputera lokalnego.
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope LocalMachine
Get-ExecutionPolicy -List
Scope ExecutionPolicy
----- ---------------
MachinePolicy Undefined
UserPolicy Undefined
Process Undefined
CurrentUser AllSigned
LocalMachine RemoteSigned
Polecenie cmdlet Set-ExecutionPolicy używa parametru ExecutionPolicy w celu określenia zasad RemoteSigned. Parametr zakresu określa domyślną wartość zakresu, LocalMachine.
Aby wyświetlić ustawienia zasad wykonywania, użyj polecenia cmdlet Get-ExecutionPolicy z parametrem List.
Przykład 3. Pobierz skuteczną politykę wykonania
W tym przykładzie pokazano, jak wyświetlić obowiązujące zasady wykonywania dla sesji programu PowerShell.
PS> Get-ExecutionPolicy -List
Scope ExecutionPolicy
----- ---------------
MachinePolicy Undefined
UserPolicy Undefined
Process Undefined
CurrentUser AllSigned
LocalMachine RemoteSigned
PS> Get-ExecutionPolicy
AllSigned
Polecenie cmdlet Get-ExecutionPolicy używa listy parametru do wyświetlenia polityki wykonywania dla każdego zakresu. Polecenie cmdlet Get-ExecutionPolicy jest uruchamiane bez parametru w celu wyświetlenia obowiązującej polityki wykonywania, AllSigned.
Przykład 4. Odblokowywanie skryptu w celu uruchomienia go bez zmieniania zasad wykonywania
W tym przykładzie pokazano, jak zasady wykonywania RemoteSigned uniemożliwiają uruchamianie niepodpisanych skryptów.
Najlepszym rozwiązaniem jest odczytanie kodu skryptu i sprawdzenie, czy jest to bezpieczne przed przy użyciu polecenia cmdlet Unblock-File. Polecenie cmdlet Unblock-File odblokuje skrypty, aby można je było uruchamiać, ale nie zmienia zasad wykonywania.
PS> Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope LocalMachine
PS> Get-ExecutionPolicy
RemoteSigned
PS> .\Start-ActivityTracker.ps1
.\Start-ActivityTracker.ps1 : File .\Start-ActivityTracker.ps1 cannot be loaded.
The file .\Start-ActivityTracker.ps1 is not digitally signed.
The script will not execute on the system.
For more information, see about_Execution_Policies at https://go.microsoft.com/fwlink/?LinkID=135170.
At line:1 char:1
+ .\Start-ActivityTracker.ps1
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [], PSSecurityException
+ FullyQualifiedErrorId : UnauthorizedAccess
PS> Unblock-File -Path .\Start-ActivityTracker.ps1
PS> Get-ExecutionPolicy
RemoteSigned
PS> .\Start-ActivityTracker.ps1
Task 1:
Set-ExecutionPolicy używa parametru ExecutionPolicy w celu określenia zasad RemoteSigned. Polityka jest ustawiona dla zakresu domyślnego, LocalMachine.
Polecenie cmdlet Get-ExecutionPolicy pokazuje, że RemoteSigned to obowiązujące zasady wykonywania dla bieżącej sesji programu PowerShell.
Skrypt Start-ActivityTracker.ps1 jest wykonywany z bieżącego katalogu. Skrypt jest blokowany przez RemoteSigned, ponieważ skrypt nie jest podpisany cyfrowo.
W tym przykładzie kod skryptu został przejrzyszony i zweryfikowany jako bezpieczny do uruchomienia. Polecenie cmdlet Unblock-File używa parametru Path, aby odblokować skrypt.
Aby sprawdzić, czy Unblock-File nie zmienił zasad wykonywania, Get-ExecutionPolicy wyświetla obowiązujące zasady wykonywania, RemoteSigned.
Skrypt Start-ActivityTracker.ps1 jest wykonywany z bieżącego katalogu. Skrypt zaczyna działać, ponieważ został odblokowany przez polecenie cmdlet Unblock-File.
Parametry
-List
Pobiera wszystkie wartości zasad wykonywania poleceń dla sesji. Domyślnie Get-ExecutionPolicy pobiera tylko obowiązującą politykę wykonywania.
Właściwości parametru
| Typ: | SwitchParameter |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
(All)
| Position: | Named |
| Obowiązkowy: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
-Scope
Określa zakres, na który mają wpływ zasady wykonywania.
Obowiązujące zasady wykonywania są określane według kolejności pierwszeństwa w następujący sposób:
-
MachinePolicy. Ustawione przez zasadę grupową dla wszystkich użytkowników tego komputera. -
UserPolicy. Ustawione przez zasady grupy dla bieżącego użytkownika komputera. -
Process. Dotyczy tylko bieżącej sesji programu PowerShell. -
LocalMachine. Domyślny zakres, który ma wpływ na wszystkich użytkowników komputera. -
CurrentUser. Dotyczy tylko bieżącego użytkownika.
Właściwości parametru
| Typ: | ExecutionPolicyScope |
| Domyślna wartość: | Effective execution policy |
| Dopuszczalne wartości: | CurrentUser, LocalMachine, MachinePolicy, Process, UserPolicy |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
(All)
| Position: | 0 |
| Obowiązkowy: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | True |
| Wartość z pozostałych argumentów: | False |
CommonParameters
To polecenie cmdlet obsługuje typowe parametry: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction i -WarningVariable. Aby uzyskać więcej informacji, zobacz about_CommonParameters.
Dane wejściowe
None
Nie można przekazywać obiektów do tego cmdletu.
Dane wyjściowe
ExecutionPolicy
Polecenie cmdlet zawsze zwraca Nielimitowane na platformach Linux i macOS. Na platformach windows zwraca bieżące zasady wykonywania.
Uwagi
Zasady wykonywania są częścią strategii zabezpieczeń programu PowerShell. Zasady wykonywania określają, czy można ładować pliki konfiguracji, takie jak profil programu PowerShell, czy uruchamiać skrypty. I czy skrypty muszą być podpisane cyfrowo przed ich uruchomieniem.