Get-ExecutionPolicy
Возвращает политики выполнения для текущего сеанса.
Синтаксис
All
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 |
| Default value: | None |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
Наборы параметров
(All)
| Position: | Named |
| Обязательно: | False |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
-Scope
Указывает область, затронутую политикой выполнения.
Эффективная политика выполнения определяется порядком приоритета следующим образом:
-
MachinePolicy. Установлено групповой политикой для всех пользователей компьютера. -
UserPolicy. Установлено групповой политикой для текущего пользователя компьютера. -
Process. Влияет только на текущий сеанс PowerShell. -
LocalMachine. Область по умолчанию, влияющая на всех пользователей компьютера. -
CurrentUser. Влияет только на текущего пользователя.
Свойства параметра
| Тип: | ExecutionPolicyScope |
| Default value: | Effective execution policy |
| Допустимые значения: | CurrentUser, LocalMachine, MachinePolicy, Process, UserPolicy |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
Наборы параметров
(All)
| Position: | 0 |
| Обязательно: | False |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | True |
| Значение из оставшихся аргументов: | False |
CommonParameters
Этот командлет поддерживает общие параметры: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction и -WarningVariable. Дополнительные сведения см. в разделе about_CommonParameters.
Входные данные
None
Невозможно передать объекты в этот командлет.
Выходные данные
ExecutionPolicy
Командлет всегда возвращает Неограниченно на платформах Linux и macOS. На платформах Windows она возвращает текущую политику выполнения.
Примечания
Политика выполнения является частью стратегии безопасности PowerShell. Политики выполнения определяют, можно ли загружать файлы конфигурации, такие как профиль PowerShell, или запускать скрипты. Должны ли скрипты иметь цифровую подпись перед их запуском.