Win11 默认 PowerShell 版本与 7.x 怎么选
Win11 自带的 PowerShell 是哪个版本(5.1)、与 PowerShell 7.x 的差别,什么场景需要装 7,脚本兼容与执行策略的注意点。
结论先行
Win11 自带 Windows PowerShell 5.1(随系统,.NET 框架系),不会自动带 7.x;PowerShell 7 是独立的跨版本命令环境(可多版本共存)。日常维护本机系统用 5.1 就够,要写跨平台脚本或用新语法再装 7。
两代对照
| 维度 | Windows PowerShell 5.1 | PowerShell 7 |
|---|---|---|
| 归属 | 系统组件,随 Win 走 | 独立安装,与系统解耦 |
| 平台 | 仅 Windows | Win/macOS/Linux |
| 命令入口 | powershell.exe |
pwsh.exe |
| 新语法(管道改进、哈希简写等) | 不支持 | 支持 |
| 与系统自带模块的兼容 | 最好 | 大部分兼容,个别系统模块需退回 5.1 |
两者共存不冲突:
powershell开 5.1,pwsh开 7。
装 7(按正规渠道)
winget install PowerShell.PowerShell
安装后新开终端,pwsh -v 确认。
脚本执行的两类坑
- 执行策略:默认禁未签名脚本,
Set-ExecutionPolicy调整前确认当前策略;企业机策略受组策略锁定时改不动。 - 版本不匹配:7 里引用的系统内建模块(个别管理模块)5.1 才有,报命令找不到时换
powershell跑。
常见误操作
- 在 7 里跑旧系统脚本报缺模块,以为是 bug——模块版本对应不同命令。
- 升级 7 把 5.1 当没了——5.1 是系统组件,独立存在。
- 改执行策略改在普通账户,实际策略是机级,需管理员。