在 PowerShell 中使用 WS-Management (WSMan) 远程处理

启用 PowerShell 远程处理

若要启用 PowerShell 远程处理,请在提升的 PowerShell 会话中运行 Enable-PSRemoting cmdlet。 运行 Enable-PSRemoting 后会为运行 cmdlet 的特定安装版本配置远程处理终结点。 例如,在运行 PowerShell 7.4 时运行 Enable-PSRemoting 后,PowerShell 将创建运行 PowerShell 7.4 的远程处理终结点。 如果在运行 PowerShell 7 预览版时运行 Enable-PSRemoting,PowerShell 将创建运行 PowerShell 7 预览版的远程处理终结点。 你可以为并行运行的不同版本 PowerShell 创建多个远程处理终结点。

运行 Enable-PSRemoting 为该版本创建两个端点。

  • 其中一个具有与承载会话的 PowerShell 主版本相对应的 简单名称。 例如,PowerShell.7.4
  • 其他配置名称包含完整版本号。 例如,PowerShell.7.4.7

可以使用简单名称连接到最新版本的 PowerShell 7 主机版本 PowerShell.7.4。 使用更长的特定于版本的名称连接到特定版本的 PowerShell。

ConfigurationName 参数与 New-PSSessionEnter-PSSession cmdlet 配合使用,以连接到命名配置。

远程连接到较旧版本的 Windows

必须满足以下先决条件才能在较旧版本的 Windows 系统上通过 WSMan 启用 PowerShell 远程处理。

  • 根据需要安装 Windows Management Framework (WMF) 5.1。 有关 WMF 的详细信息,请参阅 WMF 概述
  • 在 Windows 10 以前的 Windows 版本上安装 通用 C 运行时。 它通过直接下载或 Windows 更新提供。 完全修补的系统已安装此包。

非 Windows 平台上不支持 WSMan 远程处理

自 PowerShell 6 发布以来,在非 Windows 平台上通过 WS-Management (WSMan) 进行远程处理的支持仅适用于有限的一组 Linux 发行版。 创建 WSMan 的 Linux 供应商不再支持这些发行版的所有版本。

在非 Windows 上,WSMan 依赖于 开放管理基础结构(OMI) 项目,该项目不再支持 PowerShell 远程处理。 OMI WSMan 客户端依赖于 OpenSSL 1.0。 大多数 Linux 分发版已迁移到 OpenSSL 2.0,后者不向后兼容。 目前,没有配备了 OMI WSMan 客户端所需特定依赖项的支持发行版。

对于非 Windows 平台,已删除过时的库和支持代码。 Windows 系统之间仍支持基于 WSMan 的远程处理。 所有平台都支持通过 SSH 进行远程处理。 有关详细信息,请参阅通过 SSH 进行 PowerShell 远程处理

注意

用户可以使用 PSWSMan 模块来使 WSMan 远程处理正常工作。 Microsoft不支持或维护此模块。

其他阅读材料