如何通过命令行将Windows 7系统的PowerShell 2.0升级至4.0及以上版本
如何通过命令行将Windows 7系统的PowerShell 2.0升级至4.0及以上版本
刚好我之前帮朋友处理过类似大批量旧Windows 7机器升级PowerShell的场景,给你整理一套纯命令行的操作方案,全程不用手动点界面,很适合你这种有WDS但没法自动更新.NET的环境:
核心前提说明
PowerShell 4.0依赖**.NET Framework 4.5**,而Windows 7支持的最高PowerShell版本是5.1,它需要**.NET Framework 4.5.2及以上**的环境,所以第一步必须先装对应版本的.NET框架,再升级PowerShell。
具体操作步骤
1. 静默安装.NET Framework(以4.5为例,对应PS4.0)
先把.NET 4.5的离线安装包(比如dotNetFx45_Full_setup.exe)放到本地目录或者共享服务器路径(比如\你的WDS服务器\共享目录),然后打开管理员权限的命令提示符(CMD),执行以下命令:
dotNetFx45_Full_setup.exe /q /norestart
/q:静默安装,全程无界面交互/norestart:安装完成后不自动重启,方便后续一次性完成所有操作
2. 静默安装Windows Management Framework 4.0(包含PowerShell 4.0)
同样,把Windows Management Framework 4.0的对应系统架构安装包放到可访问路径:
- 64位系统:
Windows6.1-KB2819745-x64.msu - 32位系统:
Windows6.1-KB2819745-x86.msu
在管理员CMD里执行命令(替换成你的安装包实际路径):
wusa.exe "C:\安装包路径\Windows6.1-KB2819745-x64.msu" /quiet /norestart
/quiet:静默执行安装,无任何弹窗/norestart:暂不重启,等所有组件装完统一重启
3. (可选)升级到PowerShell 5.1(Windows 7最高兼容版本)
如果需要更丰富的功能,推荐直接升级到PowerShell 5.1,步骤类似:
- 先装.NET Framework 4.5.2及以上(比如.NET 4.7.2,兼容性更好),静默命令:
NDP472-KB4054530-x86-x64-AllOS-ENU.exe /q /norestart
- 安装Windows Management Framework 5.1,对应KB包:
- 64位:
Win7AndW2K8R2-KB3191566-x64.msu - 32位:
Win7AndW2K8R2-KB3191566-x86.msu
命令行执行:
wusa.exe "C:\安装包路径\Win7AndW2K8R2-KB3191566-x64.msu" /quiet /norestart
4. 验证安装结果
执行完所有安装命令后,手动重启电脑,然后打开PowerShell,输入以下命令查看版本:
$PSVersionTable.PSVersion
如果返回的Major值是4(对应PS4.0)或者5(对应PS5.1),就说明升级成功了。
注意事项
- 所有命令必须在管理员权限的CMD或PowerShell窗口中执行,否则会因权限不足安装失败
- 安装包要严格对应系统架构(x64/x86),否则安装会直接报错
- 如果使用共享服务器路径,要确保目标机器有访问该共享目录的权限
- 安装完成后必须重启,否则PowerShell版本不会更新
备注:内容来源于stack exchange,提问作者Arthur Gonçalves




