约 1710 字

约 9 分钟

#PowerShell 的 Get-ExecutionPolicy 命令

Get-ExecutionPolicy
    [[-Scope] <ExecutionPolicyScope>]
    [-List]
    [<CommonParameters>]

功能

获取当前会话或指定作用域的执行策略。

类型

Cmdlet,属于 Microsoft.PowerShell.Security。

参数

  • [[-Scope] <ExecutionPolicyScope>] - 要查询的作用域,可用值:
    • Process - 仅当前 PowerShell 会话
    • CurrentUser - 仅当前用户
    • LocalMachine - 计算机的所有用户
    • UserPolicy - 由当前用户的组策略设置
    • MachinePolicy - 由计算机所有用户的组策略设置
  • -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 '当前执行策略不允许运行脚本。'
}
  • 脚本可据此给出提示,但不应擅自修改系统安全设置。

#推荐阅读

更新: 2026/11/2

作者: planc

创建: 2026/11/2