Get-ExecutionPolicy
Получает политики выполнения для текущего сеанса.
Синтаксис
Get-ExecutionPolicy
[[-Scope] <ExecutionPolicyScope>]
[-List]
[<CommonParameters>]
Описание
Чтобы отобразить политики выполнения для каждой область в порядке приоритета, используйте Get-ExecutionPolicy -List
. Чтобы просмотреть эффективную политику выполнения для сеанса Get-ExecutionPolicy
PowerShell без параметров.
Эффективная политика выполнения определяется политиками выполнения, заданными 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, или запускать скрипты. И, должны ли скрипты быть цифровыми подписями перед их запуском.
Связанные ссылки
PowerShell