# 升级你的 Windows,做 AI 的上等公民
**作者**: vink
**日期**: 2026-07-21T07:55:58.000Z
**来源**: [https://x.com/Vinkyu567/status/2079475456290816050](https://x.com/Vinkyu567/status/2079475456290816050)
---

用过 Windows 和 mac 的都知道这两个操作系统在 agent 使用上的体感天差地别
最大的根源在于,windows 的命令行工具powershell 对于 AI 不够友好,因为 AI 大模型训练语料里面的命令行操作大部分都是Linux和macos风格的
导致我们经常在windows 上使用agent 的时候会经常报错,平白无故浪费了token

这篇文章就教你如何升级自己的 windows 也让我们windows用户感受下mac电脑上使用 agent 的丝滑操作
先认清三个名字:
对于我们绝大多数人来说,我们的电脑上安装的都是 Windows PowerShell 5.1,一套 2016 年发布、建立在旧版 .NET Framework 上的命令环境。
PowerShell 5.1 是 Windows 的系统组件,承担着老模块兼容任务。但拿它运行今天的 AI CLI、npm 脚本和新教程,环境摩擦会明显增加。Windows PowerShell 5.1 的多个命令保留了不同的旧式默认编码。文件、管道、日志和外部程序混在一起时,中文内容可能出现乱码,JSON 或配置文件也可能被写成下游工具不接受的编码。
PowerShell 7 把更多默认场景统一到 UTF-8 No BOM。它不能消灭所有编码问题,但能减少一批常见冲突。
因此我们需要把日常终端升级到 PowerShell 7。
首先来检查一下,我们电脑上面的 powershell 到底是那个版本的,win+R 快捷键唤醒运行窗口,然后输入 powershell 打开对应窗口
在powershell里面输入:
```
$PSVersionTable.PSVersion
```

可以清楚看到我们目前还是PowerShell 5.1 的版本
## 接下来我们将正式安装 PowerShell 7
1️⃣ 检查 WinGet
打开 Windows Terminal、命令提示符或现有 PowerShell,执行:
```
winget --version
```

能返回版本号,就可以继续。
如果系统提示找不到 winget,先在 Microsoft Store 更新或安装微软的“应用安装程序(App Installer)
2️⃣ 安装 PowerShell 7
先确认 WinGet 找到的是微软官方包:
```
winget search --id Microsoft.PowerShell --exact
```

然后安装:
```
winget install --id Microsoft.PowerShell --source winget
```

安装过程可能弹出用户账户控制窗口。确认发布者与包 ID 后再继续。
已经安装过 PowerShell 7,可以用下面的命令检查并升级:
```
winget list --id Microsoft.PowerShell --upgrade-available
winget upgrade --id Microsoft.PowerShell
```
3️⃣ 用 pwsh 启动新版本
安装完成后,关闭当前终端窗口,重新打开一个窗口,输入:
```
pwsh
```

再检查:
```
$PSVersionTable.PSVersion
$PSVersionTable.PSEdition
$PSHOME
```
可以看三个信号:
- 主版本显示 7。
- PSEdition 显示 Core。
- $PSHOME 指向 PowerShell 7 的安装目录,例如 Program Files\PowerShell\7 或 WindowsApps 下的 PowerShell 包目录。
如果 pwsh 提示找不到命令,先重启 Windows Terminal、VS Code、Cursor 或正在使用的 AI 客户端。安装程序更新了 PATH,旧进程通常看不到新的环境变量。
仍然找不到时运行:
```
where.exe pwsh
Get-Command pwsh -All
```
到此为止,PowerShell 7 的安装已经全部搞定了
4️⃣ 把 PowerShell 7 设成默认终端
这里以 codex 为例子,直接告诉codex,让其检查
```
请执行以下命令,告诉我当前 PowerShell 的版本和可执行文件路径:
$PSVersionTable.PSVersion
(Get-Process -Id $PID).Path
```

如果 Codex 仍然显示 PowerShell 5.1
在你的全局 AGENTS.md 中加入:
```
## Windows Shell 规则
- 当前系统已经安装 PowerShell 7。
- 所有 PowerShell 命令必须使用 `pwsh.exe` 执行。
- 不要使用旧版 `powershell.exe`。
- 执行 PowerShell 命令时,使用以下形式:
pwsh.exe -NoLogo -NoProfile -Command "<命令>"
- 第一次执行命令前,先运行:
pwsh.exe -NoLogo -NoProfile -Command "$PSVersionTable.PSVersion"
- 如果 PowerShell 7 不可用,停止执行并告知用户,不要自动退回 Windows PowerShell 5.1。
```
## 相关链接
- [vink](https://x.com/Vinkyu567)
- [@Vinkyu567](https://x.com/Vinkyu567)
- [365](https://x.com/Vinkyu567/status/2079475456290816050/analytics)
- [$PSHOME](https://x.com/search?q=%24PSHOME&src=cashtag_click)
- [Upgrade to Premium](https://x.com/i/premium_sign_up)
- [3:55 PM · Jul 21, 2026](https://x.com/Vinkyu567/status/2079475456290816050)
- [365 Views](https://x.com/Vinkyu567/status/2079475456290816050/analytics)
---
*导出时间: 2026/7/21 17:32:12*