如何在Windows Server Core中通过命令行将默认PowerShell版本从5切换为7.2.0
将PowerShell 7.2.0设为Windows Server Core的默认版本
直接用这条单行命令就能搞定(记得以管理员身份运行PowerShell,不管是5还是7版本都可以执行):
Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\powershell.exe" -Name "(Default)" -Value "C:\Program Files\PowerShell\7\pwsh.exe" -Force
为什么这个命令有效?
Windows系统通过HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\powershell.exe这个注册表项,决定默认启动哪个可执行文件作为PowerShell。我们把它的默认值替换为PowerShell 7的pwsh.exe路径后,系统每次调用powershell命令时,就会自动指向7.2.0版本。
验证修改是否成功
关闭所有已打开的PowerShell窗口,重新启动一个新会话,运行以下命令查看版本:
$PSVersionTable.PSVersion
如果输出的主版本号为7、小版本号为2.0,就说明修改已经生效。
如果只需要针对当前用户修改(不影响系统内其他用户),可以把注册表路径换成HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\powershell.exe,不过系统级的修改通常更符合你的需求。
内容的提问来源于stack exchange,提问作者Jamie




