当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 关于远程需求

作者:精品下载站 日期:2024-12-14 02:19:06 浏览:14 分类:玩电脑

关于远程需求


简短描述

描述在 PowerShell 中运行远程命令的系统要求和配置要求。

详细描述

本主题介绍在 PowerShell 中建立远程连接和运行远程命令的系统要求、用户要求和资源要求。它还提供了配置远程操作的说明。

笔记

某些 cmdlet 从远程计算机 RPC 连接或远程连接的 WMI 会话获取对象。他们不使用 PowerShell 远程基础设施。本文档中的要求不适用于这些 cmdlet。

若要查找具有 ComputerName 参数但不使用 PowerShell 远程处理的 cmdlet,请阅读 cmdlet 的 ComputerName 参数的说明。

系统要求

在 Windows 中,PowerShell 远程处理使用 Windows 远程管理 (WinRM),它由 Windows 管理框架 (WMF) 提供。要在 PowerShell 上运行远程会话,本地和远程计算机必须具有以下各项:

  • Windows PowerShell 3.0 或更高版本
  • Microsoft .NET Framework 4 或更高版本
  • Windows 远程管理 3.0 或更高版本

要在 Windows PowerShell 2.0 上运行远程会话,本地和远程计算机必须具有以下各项:

  • Windows PowerShell 2.0 或更高版本
  • Microsoft .NET Framework 2.0 或更高版本
  • Windows远程管理2.0

要获得完全支持,您应该使用 WMF 5.1。有关 WMF 支持的详细信息,请参阅 Windows 管理框架 (WMF)。

您可以在运行 Windows PowerShell 2.0 的计算机和运行较新版本 PowerShell 的计算机之间创建远程会话。但是,仅在新版本 PowerShell 上运行的功能(例如断开连接和重新连接到会话的能力)仅在两台计算机都运行 Windows PowerShell 3.0 及更高版本时才可用。

要查找已安装的 PowerShell 版本的版本号,请使用 $PSVersionTable 自动变量。

PowerShell 7 及更高版本还支持通过 SSH 进行 PowerShell 远程处理。通过 SSH 的 PowerShell 远程处理允许您连接到任何运行 SSH 的 Windows、macOS 或 Linux 主机。有关详细信息,请参阅通过 SSH 进行 PowerShell 远程处理。

用户权限

默认情况下,要创建远程会话并运行远程命令,当前用户必须是远程计算机上管理员组的成员,或者提供管理员的凭据。否则,命令失败。

在远程计算机上创建会话和运行命令所需的权限由会话配置建立。会话配置定义远程计算机上连接端点的配置选项。具体来说,会话配置上的安全描述符确定谁有权访问会话配置以及谁可以使用它进行连接。

默认会话配置 Microsoft.PowerShellMicrosoft.PowerShell32 上的安全描述符仅允许管理员组的成员进行访问。

计算机上管理员组的成员可以通过更改默认会话配置上的安全描述符或创建具有不同安全描述符的新会话配置来确定谁有权远程连接到计算机。用户可以使用 *-PSSession cmdlet 的 ConfigurationName 参数连接到不同的端点。

有关会话配置的更多信息,请参阅 about_Session_Configurations。

Windows 网络位置

从 Windows PowerShell 3.0 开始,Enable-PSRemoting cmdlet 可以在 Windows 客户端和服务器版本上启用远程处理。

在具有专用网络和域网络的 Windows 服务器版本上,Enable-PSRemoting cmdlet 创建允许不受限制的远程访问的防火墙规则。它还为公共网络创建防火墙规则,仅允许来自同一本地子网中的计算机进行远程访问。默认情况下,此本地子网防火墙规则在公共网络上的 Windows 服务器版本上启用,但 Enable-PSRemoting 会重新应用该规则,以防规则发生更改或删除。

在具有专用网络和域网络的 Windows 客户端版本上,Enable-PSRemoting 创建允许不受限制的远程访问的防火墙规则。

要在具有公共网络的 Windows 客户端版本上启用远程处理,请使用 Enable-PSRemoting cmdlet 的 SkipNetworkProfileCheck 参数。此选项创建一条防火墙规则,仅允许来自同一本地子网中的计算机进行远程访问。

要删除公共网络上的本地子网限制并允许从 Windows 客户端和服务器版本上的所有位置进行远程访问,请使用 NetSecurity 模块中的 Set-NetFirewallRule cmdlet。运行以下命令:

Set-NetFirewallRule -Name "WINRM-HTTP-In-TCP-PUBLIC" -RemoteAddress Any

笔记

对于不同版本的 Windows,防火墙规则的名称可能不同。使用 Get-NetFirewallRule 查看规则列表。在启用防火墙规则之前,请查看规则中的安全设置以验证配置是否适合您的环境。

在 Windows PowerShell 2.0 的 Windows 服务器版本上,Enable-PSRemoting 创建允许在所有网络上进行远程访问的防火墙规则。

在 Windows PowerShell 2.0 中,在 Windows 客户端版本上,Enable-PSRemoting 仅在专用网络和域网络上创建防火墙规则。如果网络位置是公共的,Enable-PSRemoting 将失败。

以管理员身份运行

以下远程操作需要管理员权限:

  • 建立与本地计算机的远程连接。这通常称为“环回”场景。
  • 管理本地计算机上的会话配置。
  • 查看和更改本地计算机上的 WS-Management 设置。这些是 WSMAN: 驱动器的 LocalHost 节点中的设置。

即使您是本地计算机上管理员组的成员,也必须使用以管理员身份运行选项启动PowerShell。

当您从另一个程序(例如 cmd.exe)启动 Windows PowerShell 时,请使用以管理员身份运行选项来启动该程序。

如何配置计算机进行远程处理

运行任何受支持的 Windows 版本的计算机无需任何配置即可在 PowerShell 中建立远程连接并运行远程命令。但是,要接收远程连接,您必须在计算机上启用 PowerShell 远程处理。

默认情况下,Windows Server 2012 和较新版本的 Windows Server 启用 PowerShell 远程处理。如果设置发生更改,您可以通过运行 Enable-PSRemoting cmdlet 恢复默认设置。

默认情况下,WinRM 服务支持 PowerShell 的远程处理功能,该服务是 Web 服务管理 (WS-Management) 协议的 Microsoft 实现。启用 PowerShell 远程处理时,您可以更改 WS-Management 的默认配置并添加允许用户连接到 WS-Management 的系统配置。

要将 PowerShell 配置为接收远程命令:

  1. 使用以管理员身份运行选项启动 PowerShell。
  2. 在命令提示符处,键入:Enable-PSRemoting

要验证远程处理是否配置正确,请运行测试命令(例如以下命令),这将在本地计算机上创建远程会话。

New-PSSession

如果远程处理配置正确,该命令将在本地计算机上创建会话并返回表示该会话的对象。

Id Name        ComputerName    State    ConfigurationName
-- ----        ------------    -----    -----
1  Session1    localhost       Opened   Microsoft.PowerShell

如果命令失败,请参阅 about_Remote_Troubleshooting。

了解政策

远程工作时,您使用两个 PowerShell 实例,一个位于本地计算机上,一个位于远程计算机上。因此,您的工作会受到本地和远程计算机上的 Windows 和 PowerShell 策略的影响。

在连接之前和建立连接时,本地计算机上的策略将生效。当您使用连接时,远程计算机上的策略将生效。

参见

  • about_Remote
  • about_Remote_Variables
  • about_PSSessions
  • Invoke-Command
  • 输入-PSSession
  • 新 PS 会话

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯