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
использует параметр списка для отображения политики выполнения каждой области.
Пример 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
. Параметр указывает значение области по умолчанию, LocalMachine
.
Чтобы просмотреть параметры политики выполнения, используйте командлет Get-ExecutionPolicy
с параметром списка .
Пример 3. Получение эффективной политики выполнения
В этом примере показано, как отобразить эффективную политику выполнения для сеанса PowerShell.
PS> Get-ExecutionPolicy -List
Scope ExecutionPolicy
----- ---------------
MachinePolicy Undefined
UserPolicy Undefined
Process Undefined
CurrentUser AllSigned
LocalMachine RemoteSigned
PS> Get-ExecutionPolicy
AllSigned
Командлет Get-ExecutionPolicy
использует параметр списка для отображения политики выполнения каждой области. Командлет 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
использует параметр пути для разблокировки скрипта.
Чтобы убедиться, что Unblock-File
не изменили политику выполнения, Get-ExecutionPolicy
отображает эффективную политику выполнения RemoteSigned
.
Скрипт, Start-ActivityTracker.ps1
выполняется из текущего каталога. Скрипт начинает выполняться, так как он был разблокирован командлетом Unblock-File
.
Параметры
-List
Возвращает все значения политики выполнения для сеанса. По умолчанию Get-ExecutionPolicy
получает только эффективную политику выполнения.
Тип: | SwitchParameter |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-Scope
Указывает область, затронутую политикой выполнения.
Эффективная политика выполнения определяется порядком приоритета следующим образом:
-
MachinePolicy
. Установлено групповой политикой для всех пользователей компьютера. -
UserPolicy
. Установлено групповой политикой для текущего пользователя компьютера. -
Process
. Влияет только на текущий сеанс PowerShell. -
LocalMachine
. Область по умолчанию, влияющая на всех пользователей компьютера. -
CurrentUser
. Влияет только на текущего пользователя.
Тип: | ExecutionPolicyScope |
Допустимые значения: | CurrentUser, LocalMachine, MachinePolicy, Process, UserPolicy |
Position: | 0 |
Default value: | Effective execution policy |
Обязательно: | False |
Принять входные данные конвейера: | True |
Принять подстановочные знаки: | False |
Входные данные
None
Невозможно передать объекты в этот командлет.
Выходные данные
Командлет всегда возвращает Неограниченно на платформах Linux и macOS. На платформах Windows она возвращает текущую политику выполнения.
Примечания
Политика выполнения является частью стратегии безопасности PowerShell. Политики выполнения определяют, можно ли загружать файлы конфигурации, такие как профиль PowerShell, или запускать скрипты. Должны ли скрипты иметь цифровую подпись перед их запуском.
Связанные ссылки
PowerShell