#PowerShell 的 Get-ExecutionPolicy 命令
Get-ExecutionPolicy
[[-Scope] <ExecutionPolicyScope>]
[-List]
[<CommonParameters>]
功能
获取当前会话或指定作用域的执行策略。
类型
Cmdlet,属于 Microsoft.PowerShell.Security。
参数
[[-Scope] <ExecutionPolicyScope>]- 要查询的作用域,可用值:Process- 仅当前 PowerShell 会话CurrentUser- 仅当前用户LocalMachine- 计算机的所有用户UserPolicy- 由当前用户的组策略设置MachinePolicy- 由计算机所有用户的组策略设置
-List- 列出每个作用域的执行策略,而不是只返回有效策略
不带参数时返回当前生效的执行策略;
-List会显示所有作用域的值。
#示例
获取当前执行策略
> Get-ExecutionPolicy
RemoteSigned
- 返回按优先级计算后的有效执行策略。
列出所有作用域的策略
> Get-ExecutionPolicy -List
Scope ExecutionPolicy
----- ---------------
MachinePolicy Undefined
UserPolicy Undefined
Process Undefined
CurrentUser RemoteSigned
LocalMachine Undefined
- 组策略设置的优先级最高,
Process作用域仅影响当前会话。
查询指定作用域
> Get-ExecutionPolicy -Scope CurrentUser
> Get-ExecutionPolicy -Scope LocalMachine
- 用于确认某个作用域是否单独设置过执行策略。
在脚本中检查执行策略
> if ((Get-ExecutionPolicy) -eq 'Restricted') {
Write-Warning '当前执行策略不允许运行脚本。'
}
- 脚本可据此给出提示,但不应擅自修改系统安全设置。