Get-ExecutionPolicy
Получает политики выполнения для текущего сеанса.
Синтаксис
Get-ExecutionPolicy
[[-Scope] <ExecutionPolicyScope>]
[-List]
[<CommonParameters>]
Описание
Чтобы отобразить политики выполнения для каждого область в порядке очередности, используйте Get-ExecutionPolicy -List
. Чтобы просмотреть действующую политику выполнения для сеанса PowerShell, используйте Get-ExecutionPolicy
без параметров.
Эффективная политика выполнения определяется политиками выполнения, которые задаются параметрами Set-ExecutionPolicy
и групповая политика.
Подробнее см. в разделе about_Execution_Policies.
Примеры
Пример 1. Получение всех политик выполнения
Эта команда отображает политики выполнения для каждого область в порядке приоритета.
Get-ExecutionPolicy -List
Scope ExecutionPolicy
----- ---------------
MachinePolicy Undefined
UserPolicy Undefined
Process Undefined
CurrentUser AllSigned
LocalMachine Undefined
Командлет Get-ExecutionPolicy
использует параметр List для отображения политики выполнения каждого область.
Пример 2. Настройка политики выполнения
В этом примере показано, как задать политику выполнения для локального компьютера.
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope LocalMachine
Get-ExecutionPolicy -List
Scope ExecutionPolicy
----- ---------------
MachinePolicy Undefined
UserPolicy Undefined
Process Undefined
CurrentUser AllSigned
LocalMachine RemoteSigned
Командлет Set-ExecutionPolicy
использует параметр ExecutionPolicy для указания RemoteSigned
политики. Параметр Scope задает значение область по умолчанию, LocalMachine
.
Чтобы просмотреть параметры политики выполнения, используйте Get-ExecutionPolicy
командлет с параметром List .
Пример 3. Получение действующей политики выполнения
В этом примере показано, как отобразить эффективную политику выполнения для сеанса PowerShell.
PS> Get-ExecutionPolicy -List
Scope ExecutionPolicy
----- ---------------
MachinePolicy Undefined
UserPolicy Undefined
Process Undefined
CurrentUser AllSigned
LocalMachine RemoteSigned
PS> Get-ExecutionPolicy
AllSigned
Командлет Get-ExecutionPolicy
использует параметр List для отображения политики выполнения каждого область. Командлет Get-ExecutionPolicy
выполняется без параметра для отображения действующей политики AllSigned
выполнения .
Пример 4. Разблокировка скрипта для его запуска без изменения политики выполнения
В этом примере показано, как RemoteSigned
политика выполнения предотвращает выполнение неподписанных скриптов.
Перед использованиемUnblock-File
командлета рекомендуется прочитать код скрипта и проверить его безопасность. Командлет Unblock-File
разблокирует скрипты, чтобы они могли выполняться, но не изменяет политику выполнения.
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
параметр ExecutionPolicy для указания RemoteSigned
политики. Политика задается для область по умолчанию, LocalMachine
.
Командлет Get-ExecutionPolicy
показывает, что RemoteSigned
является действующей политикой выполнения для текущего сеанса PowerShell.
Скрипт Start-ActivityTracker.ps1
выполняется из текущего каталога. Скрипт блокируется, RemoteSigned
так как он не имеет цифровой подписи.
В этом примере код скрипта был проверен и проверен как безопасный для выполнения. Командлет Unblock-File
использует параметр Path для разблокировки скрипта.
Чтобы убедиться, что Unblock-File
политика выполнения не изменилась, Get-ExecutionPolicy
отображается действующая RemoteSigned
политика выполнения .
Скрипт Start-ActivityTracker.ps1
выполняется из текущего каталога. Скрипт начинает выполняться, так как он был разблокирован командлетом Unblock-File
.
Параметры
-List
Возвращает все значения политики выполнения для сеанса. По умолчанию Get-ExecutionPolicy
получает только действующую политику выполнения.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Scope
Указывает область, на которую влияет политика выполнения.
Действующая политика выполнения определяется порядком очередности следующим образом:
MachinePolicy
. Устанавливается групповая политика для всех пользователей компьютера.UserPolicy
. Задается групповая политика для текущего пользователя компьютера.Process
. Влияет только на текущий сеанс PowerShell.LocalMachine
. Область по умолчанию, влияющий на всех пользователей компьютера.CurrentUser
. Влияет только на текущего пользователя.
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 |
Входные данные
None
Вы не можете передавать объекты в этот командлет.
Выходные данные
Командлет всегда возвращает неограниченный доступ на платформах Linux и macOS. На платформах Windows возвращается текущая политика выполнения.
Примечания
Политика выполнения является частью стратегии безопасности PowerShell. Политики выполнения определяют, можно ли загружать файлы конфигурации, например профиль PowerShell, или запускать сценарии. А также указывает, должны ли скрипты быть подписаны цифровой подписью перед их выполнением.