不同Windows版本的默认执行策略及全新安装是否设为Default策略
Windows不同版本的PowerShell默认执行策略详解
刚好对PowerShell执行策略这块比较熟悉,给你梳理清楚你问的两个关键点:
一、客户端与服务器系统的实际默认策略差异
PowerShell里的Default执行策略其实是一个逻辑占位符,它会根据系统的类型(客户端/服务器)自动映射到具体的策略:
- Windows客户端系统(如Windows 10、Windows 11):全新安装后,实际生效的默认策略是
Restricted。这个策略限制最严格——不允许运行任何脚本文件(.ps1、.psm1等),只能执行单个PowerShell命令,主要是为普通用户场景防范恶意脚本。 - Windows服务器系统(如Windows Server 2016、2019、2022):全新安装后,实际生效的默认策略是
RemoteSigned。这个策略相对灵活:本地创建的脚本可以直接运行,从网络下载的脚本则必须有可信发布者的签名才能执行,平衡了服务器运维需要运行脚本的需求和安全性。
二、全新安装系统是否会设置“Default”策略?
答案是不会。Default并不是一个可以直接生效的实际策略值,它只是用来指示PowerShell根据系统类型自动选择对应策略的标识。你可以通过以下命令验证:
Get-ExecutionPolicy
执行后返回的会是Restricted(客户端)或RemoteSigned(服务器),而非Default。如果想查看完整的策略作用域映射,可以运行:
Get-ExecutionPolicy -List
在输出里你会看到,MachinePolicy、UserPolicy等如果未手动配置,Effective Policy就会基于Default的规则映射到具体策略。
内容的提问来源于stack exchange,提问作者bahrep




