升级 PowerShell 到最新版本 – wiki基地


拥抱变革:详细指南教你如何升级 PowerShell 到最新版本

在当今高度自动化的IT环境中,命令行工具是系统管理员和开发人员不可或缺的伙伴。而 PowerShell 作为微软推出的强大脚本和自动化平台,其重要性日益凸显。随着技术的飞速发展,PowerShell 本身也在不断进化。从最初捆绑在 Windows 中的 Windows PowerShell,到跨平台、开源的现代 PowerShell(以前称为 PowerShell Core),新版本带来了众多令人兴奋的特性、性能提升和跨平台能力。

如果你还在使用旧版本的 Windows PowerShell 5.1,那么升级到最新版本的 PowerShell 将显著提升你的工作效率和自动化能力。本文将详细介绍为什么要升级、新旧版本的区别,以及如何在 Windows 系统上将 PowerShell 升级到最新版本的具体步骤。

为什么你需要升级到最新版本的 PowerShell?

许多 Windows 用户默认使用的仍然是操作系统自带的 Windows PowerShell 5.1 版本。虽然它功能强大,但与最新版本的 PowerShell 相比,它已经显得有些过时。升级到最新版本(截至知识更新日期,通常指代 PowerShell 7.x 系列及更高版本)可以为你带来以下核心优势:

  1. 跨平台能力: 最新版本的 PowerShell 是跨平台的,这意味着你可以在 Windows、macOS 和 Linux 等多种操作系统上运行相同的脚本。这对于管理异构环境或进行跨平台开发至关重要。
  2. 性能提升: 新版本的 PowerShell 基于 .NET Core (.NET) 构建,相较于基于 .NET Framework 的 Windows PowerShell,在启动速度和许多操作的执行效率上有了显著提升。
  3. 新特性和改进: 每个新版本都引入了大量新 cmdlet(命令)、新的语言特性、改进的错误处理、更强大的远程处理能力以及对现代标准和协议的支持。例如,foreach -Parallel 并行处理、增强的兼容性模块等。
  4. 更好的模块管理: 最新版本的 PowerShell 利用了 PowerShellGet 的最新功能,使得查找、安装和管理模块更加便捷高效。
  5. 积极的社区和支持: 作为开源项目,最新版本的 PowerShell 拥有活跃的社区支持和持续的开发更新,这意味着你可以更快地获得新功能、错误修复和安全补丁。而 Windows PowerShell 5.1 已经进入维护阶段,未来不会有大的功能更新。
  6. 与现代工具链集成: 新版本更好地集成了现代开发和自动化工具链,例如 VS Code 的 PowerShell 扩展提供了更优秀的编辑和调试体验。

总而言之,升级到最新版本的 PowerShell 不仅仅是获取新功能,更是为了拥抱更高效、更灵活、更面向未来的自动化平台。

理解 Windows PowerShell 与 PowerShell 的区别

在开始升级之前,理解这两个名称之间的区别非常重要,因为这常常引起混淆:

  • Windows PowerShell: 这是早期版本的 PowerShell,通常指代 5.1 及更早的版本。它是 Windows 操作系统的一部分,基于 .NET Framework 运行,并且只能在 Windows 上使用。当你搜索或运行 powershell.exe 时,默认启动的很可能是它。
  • PowerShell (PowerShell Core): 这是 6.0 版本开始的 PowerShell 的新一代,现在通常直接称为 PowerShell。它基于 .NET Core (.NET) 运行,是开源的,并且支持跨平台(Windows, macOS, Linux)。它的可执行文件通常是 pwsh.exe

重要提示: 安装最新版本的 PowerShell 并不会覆盖或替换你系统上原有的 Windows PowerShell 5.1。这两个版本可以并行存在,你可以根据需要启动和使用它们。这允许你在迁移脚本或适应新版本时更加灵活。

检查你当前的 PowerShell 版本

在升级之前,先检查一下你当前系统上运行的是哪个版本的 PowerShell 是个好习惯。

  1. 打开一个 PowerShell 窗口(你可以通过在开始菜单搜索“PowerShell”打开)。
  2. 在 PowerShell 提示符下输入以下命令并按 Enter:
    powershell
    $PSVersionTable
  3. 查找输出中的 PSVersion 字段。
    • 如果 PSVersion5.1 开头,那么你正在使用的是 Windows PowerShell 5.1。
    • 如果 PSVersion6.x7.x 开头,那么你已经在使用或安装了新版本的 PowerShell。

了解当前版本有助于你确认是否需要升级以及升级是否成功。

如何获取最新版本的 PowerShell?

获取和安装最新版本的 PowerShell 有多种方法,主要取决于你的操作系统和个人偏好。对于 Windows 用户,最常见且推荐的方法是使用 Microsoft Installer (MSI) 或通过 Winget (Windows Package Manager)。

方法一:使用 Winget (Windows 包管理器) – 推荐用于 Windows 10/11

Winget 是 Windows 10 1709 (秋季创意者更新) 及更高版本以及 Windows 11 中内置或可通过应用商店安装的命令行包管理器。它是安装和更新应用程序的一种现代化且便捷的方式,也支持安装 PowerShell。

前提条件:

  • 你的 Windows 版本支持并已安装 Winget。Windows 10 最新版本或 Windows 11 通常已预装。如果你的系统上没有 Winget,可以尝试从 Microsoft Store 安装“应用安装程序”。
  • 你需要一个具有管理员权限的命令行窗口。

升级步骤:

  1. 打开 Windows TerminalCommand Prompt,并确保你是以管理员身份运行的(右键点击图标选择“以管理员身份运行”)。Windows Terminal 是一个优秀的选择,因为它能够更好地支持新版 PowerShell。
  2. 首先,你可以搜索可用的 PowerShell 版本,确认包的名称:
    cmd
    winget search Microsoft.PowerShell

    你会看到类似 “Microsoft.PowerShell” 的包名以及不同的可用版本(Preview 版和稳定版)。
  3. 选择你想要安装的稳定版本(通常是名称为 “Microsoft.PowerShell” 的那个,而不是带有 “Preview” 字样的)。使用 install 命令进行安装。推荐使用 --interactive 参数以便在安装过程中看到进度和提示。
    cmd
    winget install Microsoft.PowerShell --interactive

    或者,如果你希望静默安装,可以使用 --silent 参数:
    cmd
    winget install Microsoft.PowerShell --silent

    如果你想安装 预览版 以体验最新功能(不推荐用于生产环境),可以搜索相应的预览版包名并安装。
  4. Winget 会下载并运行 PowerShell 的安装程序(MSI)。按照屏幕上的提示完成安装向导。这通常包括接受许可协议、选择安装路径和可选功能等步骤。
  5. 安装完成后,Winget 会报告安装成功。

Winget 的优势:

  • 简单方便: 只需一个命令即可完成下载和安装。
  • 易于更新: 将来发布新版本时,你可以使用 winget upgrade Microsoft.PowerShell 命令轻松更新。
  • 可靠性: Winget 从可信的源(通常是微软或发行版官方源)获取安装包。

方法二:使用 MSI 安装包 (Microsoft Installer)

这是最传统和直接的安装方法,适用于所有支持的 Windows 版本。

前提条件:

  • 访问互联网以下载安装文件。
  • 你需要一个具有管理员权限的账户来运行安装程序。

升级步骤:

  1. 访问 PowerShell 的官方 GitHub Release 页面。这是获取最新稳定版本 MSI 安装包的最可靠来源。你可以通过搜索“PowerShell GitHub releases”找到该页面,或者直接访问 https://github.com/PowerShell/PowerShell/releases
  2. 在 Release 页面找到最新的 稳定版本 (Latest stable release)。通常会标有 “Latest release” 字样。
  3. 在对应版本的 “Assets” 部分,找到适用于你的 Windows 体系结构的 MSI 安装文件。
    • 对于大多数现代电脑,你需要下载 PowerShell-<版本号>-win-x64.msi (适用于 64 位 Windows)。
    • 如果你的系统是 32 位 Windows(非常罕见),则下载 PowerShell-<版本号>-win-x86.msi
  4. 下载 MSI 文件到你的计算机上。
  5. 找到下载的 MSI 文件,双击运行它。这将启动 PowerShell 安装向导。
  6. 运行安装向导:
    • 点击 Next
    • 接受许可协议,勾选 “I accept the terms in the License Agreement”,然后点击 Next
    • 选择安装路径。默认路径通常是 C:\Program Files\PowerShell\,这是推荐的,点击 Next
    • 可选功能设置 (Optional Features): 这一步非常重要,你可以根据需要勾选以下选项:
      • Add ‘Open here’ context menus: (推荐) 在文件资源管理器的文件夹右键菜单中添加“在此处打开 PowerShell”的选项。
      • Enable PowerShell remoting: (推荐) 启用 PowerShell 远程处理功能,这允许你使用 Invoke-Command 等 cmdlet 连接到远程计算机。
      • Add PowerShell to PATH environment variable: (强烈推荐) 将 pwsh.exe 的路径添加到系统的环境变量 PATH 中。这允许你在任何命令提示符或运行对话框中直接输入 pwsh 来启动新版 PowerShell,而不必输入完整路径。
      • Register Windows Event Logging Manifest: 注册清单以便在 Windows 事件日志中记录 PowerShell 事件。
      • Add PowerShell to the ‘Open with’ context menu for files: (可选) 将 PowerShell 添加到某些文件的“打开方式”菜单中。
    • 选择完成后,点击 Next
    • 点击 Install 开始安装。
    • 如果出现用户账户控制 (UAC) 提示,点击 Yes 允许程序进行更改。
  7. 等待安装完成。安装完成后,点击 Finish

MSI 安装包的优势:

  • 直观易用: 通过图形界面向导进行安装,步骤清晰。
  • 控制力强: 可以自定义安装路径和可选功能。
  • 离线安装: 一旦下载了 MSI 文件,就可以在没有网络连接的环境下进行安装。

其他安装方法 (简要提及)

  • Zip 包: 可以下载 Zip 包版本,将其解压到任意文件夹,然后直接运行 pwsh.exe。这种方法无需管理员权限,但不会进行系统注册,也不会修改 PATH 或添加右键菜单,主要用于测试或不需要全局安装的场景。
  • .NET 工具: 如果你的系统上安装了 .NET SDK,你也可以通过 dotnet tool install --global PowerShell 命令来安装 PowerShell。

对于大多数 Windows 用户而言,使用 Winget 或 MSI 安装包是升级到最新版本的最佳选择。

验证安装是否成功

安装完成后,你需要验证新版本的 PowerShell 是否成功安装并且可以正常启动。

  1. 关闭所有之前打开的 PowerShell 窗口(包括 Windows PowerShell 5.1)。
  2. 打开一个新的命令行窗口。推荐使用 Windows Terminal
  3. 尝试启动新版本的 PowerShell。通常,你只需要输入 pwsh 并按 Enter:
    cmd
    pwsh

    如果新版本的 PowerShell 成功启动,你会看到一个不同的提示符(通常只是 PS >),并且窗口标题可能会显示 “PowerShell” 而不是 “Windows PowerShell”。
  4. 在新版本的 PowerShell 提示符下,再次运行 $PSVersionTable 命令:
    powershell
    $PSVersionTable

    检查 PSVersion 字段。它应该显示你刚刚安装的新版本号(例如 7.3.x, 7.4.x 等)。

如何区分新旧版本:

  • 运行 pwsh 启动的是新版本的 PowerShell (PowerShell Core)。
  • 在开始菜单搜索“Windows PowerShell”并启动的是旧版本的 Windows PowerShell 5.1。
  • 如果安装时将 pwsh 添加到了 PATH,那么在运行或命令提示符中直接输入 powershell 有时也可能启动新版本,但这取决于你的 PATH 配置顺序。为了确保启动新版本,推荐始终使用 pwsh 命令。

升级后的使用注意事项

  • 启动方式: 习惯使用 pwsh 命令来启动新版本的 PowerShell。
  • 模块兼容性: 大多数为 Windows PowerShell 编写的模块可以在新版本的 PowerShell 中正常工作,这得益于 PowerShell 的兼容性层。但也有少数例外,特别是那些严重依赖特定 Windows 组件(如 WMI 接口的旧方式)或旧版 .NET Framework 特性的模块,可能在新版本中无法完全兼容或需要更新。在使用旧脚本或模块时,最好在新版本中进行测试。
  • Profile 文件: PowerShell 有一个 Profile 文件,它在 PowerShell 启动时加载,用于自定义你的环境。新旧版本的 PowerShell 使用不同的 Profile 文件路径。新版 PowerShell 的 Profile 文件路径可以通过 $PROFILE 变量查看(在新版 pwsh 中运行)。如果你有自定义设置(别名、函数等),需要将它们迁移到新版本的 Profile 文件中。
  • 学习新特性: 查阅新版本 PowerShell 的发行说明和文档,了解新引入的 cmdlet、语言特性和改进,以便充分利用新版本的功能。

总结

升级到最新版本的 PowerShell 是一个非常有价值的操作,它能够极大地增强你的自动化能力,提高效率,并让你能够利用最新的工具和技术。无论是通过 Winget 还是 MSI 安装包,升级过程都相对简单直接。记住新版本 PowerShell (pwsh) 可以与旧版本的 Windows PowerShell 5.1 并行存在,这为你的迁移提供了便利。

现在就开始升级你的 PowerShell 环境吧,体验现代 PowerShell 带来的强大与便捷!如果你在升级过程中遇到任何问题,可以查阅 PowerShell 的官方文档或在活跃的社区论坛中寻求帮助。


发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注

滚动至顶部