Get-ExecutionPolicy
Pobiera zasady wykonywania dla bieżącej sesji.
Składnia
Get-ExecutionPolicy
[[-Scope] <ExecutionPolicyScope>]
[-List]
[<CommonParameters>]
Opis
Aby wyświetlić zasady wykonywania dla każdego zakresu w kolejności pierwszeństwa, użyj polecenia Get-ExecutionPolicy -List
. Aby wyświetlić obowiązujące zasady wykonywania sesji programu PowerShell bez Get-ExecutionPolicy
parametrów.
Obowiązujące zasady wykonywania są określane przez zasady wykonywania, które są ustawiane przez Set-ExecutionPolicy
ustawienia i zasady grupy.
Aby uzyskać więcej informacji, zobacz about_Execution_Policies.
Przykłady
Przykład 1. Pobieranie wszystkich zasad 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 Get-ExecutionPolicy
cmdlet używa parametru Lista do wyświetlania zasad wykonywania 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 Set-ExecutionPolicy
cmdlet używa parametru ExecutionPolicy do określenia RemoteSigned
zasad. Parametr Zakres określa domyślną wartość zakresu: LocalMachine
.
Aby wyświetlić ustawienia zasad wykonywania, użyj Get-ExecutionPolicy
polecenia cmdlet z parametrem Lista .
Przykład 3. Uzyskiwanie obowiązujących zasad wykonywania
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 Get-ExecutionPolicy
cmdlet używa parametru Lista do wyświetlania zasad wykonywania każdego zakresu. Polecenie Get-ExecutionPolicy
cmdlet jest uruchamiane bez parametru, aby wyświetlić obowiązujące zasady wykonywania. AllSigned
Przykład 4. Odblokowywanie skryptu w celu uruchomienia go bez zmiany zasad wykonywania
W tym przykładzie RemoteSigned
pokazano, jak zasady wykonywania uniemożliwiają uruchamianie niepodpisanych skryptów.
Najlepszym rozwiązaniem jest odczytanie kodu skryptu i sprawdzenie, czy jest bezpieczne przed użyciem Unblock-File
polecenia cmdlet. Polecenie Unblock-File
cmdlet odblokuje skrypty, aby mogły działać, 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:
Parametr Set-ExecutionPolicy
ExecutionPolicy służy do określania RemoteSigned
zasad. Zasady są ustawiane dla zakresu domyślnego. LocalMachine
Polecenie Get-ExecutionPolicy
cmdlet pokazuje, że RemoteSigned
są obowiązujące zasady wykonywania dla bieżącej sesji programu PowerShell.
Skrypt Start-ActivityTracker.ps1
jest wykonywany z bieżącego katalogu. Skrypt jest blokowany, RemoteSigned
ponieważ skrypt nie jest podpisany cyfrowo.
W tym przykładzie kod skryptu został sprawdzony i zweryfikowany jako bezpieczny do uruchomienia. Polecenie Unblock-File
cmdlet używa parametru Path do odblokowania skryptu.
Aby sprawdzić, czy Unblock-File
zasady wykonywania nie uległy zmianie, 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 Unblock-File
polecenie cmdlet.
Parametry
-List
Pobiera wszystkie wartości zasad wykonywania dla sesji. Domyślnie Get-ExecutionPolicy
pobiera tylko obowiązujące zasady wykonywania.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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
. Ustaw przez zasady grupy dla wszystkich użytkowników komputera.UserPolicy
. Ustaw przez zasady grupy dla bieżącego użytkownika komputera.Process
. Wpływa tylko na bieżącą sesję programu PowerShell.LocalMachine
. Domyślny zakres, który ma wpływ na wszystkich użytkowników komputera.CurrentUser
. Wpływa tylko na bieżącego użytkownika.
Type: | ExecutionPolicyScope |
Accepted values: | CurrentUser, LocalMachine, MachinePolicy, Process, UserPolicy |
Position: | 0 |
Default value: | Effective execution policy |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
Dane wejściowe
None
Nie można potokować obiektów do tego polecenia cmdlet.
Dane wyjściowe
Polecenie cmdlet zawsze zwraca wartość Unrestricted na platformach Linux i macOS. Na platformach Systemu Windows zwraca bieżące zasady wykonywania.
Uwagi
Zasady wykonywania są częścią strategii zabezpieczeń programu PowerShell. Zasady wykonywania określają, czy można załadować pliki konfiguracji, takie jak profil programu PowerShell, czy uruchamiać skrypty. I czy skrypty muszą być podpisane cyfrowo przed ich uruchomieniem.