Windows 11 Pro ISO文件在哪下载最新版?如何下载原装纯净版Win11 ?点击进入 持续更新!
如何在Windows 10中启用PowerShell远程处理
与Windows Server不同,Windows 10默认情况下不启用PowerShellRemoting。PowerShellRemoting是用于连接和管理远程设备的安全管理协议(WSMan)。在默认配置下,PowerShell Remoting通过HTTP保护通信。它主要设计用于Active Directory(AD)环境,该环境使用设备和Kerberos之间的安全通道保护身份验证阶段。
您可以选择将PowerShell Remoting配置为使用HTTPS保护与工作组计算机(即未加入AD的设备)的连接。无论选择使用哪种传输协议,设备之间的通信始终在身份验证阶段之后进行加密。
HTTPS与SSH
HTTPS的配置很麻烦,因为它需要IT来获取,供应和管理证书。为解决此问题,Microsoft引入了在PowerShell Core(PowerShell版本6或更高版本)中使用SSH进行PowerShell远程处理的功能。PowerShell的较旧版本以及Windows默认安装的版本称为Windows PowerShell。
如果您正在管理加入AD域的设备,并且具有直接的网络连接性,要么是因为您连接到同一物理网络,要么是为“管理”方案配置了VPN,那么通过HTTP进行PowerShell远程处理应该可以正常工作。这可能是最简单,最好的选择。但是,如果您的目标是管理与管理网络断开连接的远程设备,无论它们是否已加入AD域,则SSH都比HTTPS易于设置和维护。
使用HTTP进行PowerShell远程处理
在本文中,我将向您展示如何使用默认传输协议HTTP在Windows 10中启用PowerShell Remoting。我们还将假定远程设备已加入您的AD域。在以后的文章中,我将向您展示如何在PowerShell 6中使用SSH设置PowerShell Remoting。
登录到要启用PowerShell Remoting的计算机,然后以管理员权限启动PowerShell会话:
- 在任务栏上的搜索框中,键入powershell,然后在搜索结果中,单击Windows PowerShell右侧的箭头(>)。在右侧的选项中,点击以管理员身份运行。可能会提示您输入管理员凭据或同意运行PowerShell。
- 在PowerShell窗口中,键入Get-NetConnectionProfile,然后按Enter。在启用PowerShell Remoting之前,我们需要检查网络连接配置文件是否设置为Private或DomainAuthenticated。
- 如果未将NetworkCategory设置为Private或DomainAuthenticated,则可以使用以下命令将其设置为Private:
1
|
Set-NetConnectionProfile -NetworkCategory Private
|
- 现在,我们可以使用以下命令启用PowerShell Remoting:
1
|
Enable-PSRemoting -Force
|
根据微软的网站,当您运行Enable-PSRemoting时,它执行以下任务:
- 启动WinRM服务
- 将WinRM服务上的启动类型设置为“自动”
- 创建一个侦听器以接受任何IP地址上的请求
- 为WS-Management通信启用防火墙例外
- 注册Microsoft.PowerShell和Microsoft.PowerShell.Workflow会话配置(如果尚未注册)
- 在64位计算机上注册Microsoft.PowerShell32会话配置(如果尚未注册)
- 启用所有会话配置
- 更改所有会话配置的安全描述符以允许远程访问
- 重新启动WinRM服务以使上述更改生效
就是这样!现在,您应该可以使用PowerShell Remoting从管理工作站连接到设备,前提是您物理上位于同一网络上,或者已为“管理”方案配置了VPN。
有关如何使用PowerShell Remoting连接到设备的更多信息,请查看Petri上的PowerShell Remoting基础。
在公共网络上启用PowerShell远程处理
运行Enable-PSRemoting将打开默认的Windows防火墙规则,称为Windows远程管理(HTTP-In)。它在端口5985上为域和专用网络连接配置文件打开入站HTTP访问。如果要打开用于公共网络连接配置文件的PowerShell Remoting,可以将-SkipNetworkProfileCheck参数添加到Enable-PSRemoting。
默认情况下,-SkipNetworkProfileCheck将Windows防火墙配置为允许来自同一本地子网中公共网络上的设备的远程连接。如果要允许来自任何位置的公用网络上的设备的连接,则需要使用Set-NetFirewallRule修改WINRM-HTTP-In-TCP防火墙规则,如下所示。
1
|
Set-NetFirewallRule -Name ‘WINRM-HTTP-In-TCP’ -RemoteAddress Any
|
PowerShell Remoting更适合管理服务器
如果您需要管理少量客户端设备,则可以为您的组织选择PowerShell Remoting。但是它更适合管理服务器,因为它们是静态的,始终可用,并且通常直接连接到您的管理网络和设备。
相反,客户端设备并不总是可用的,它们可以从不同的网络和不同类型的网络连接进行连接。专为管理端点而设计的服务(例如Microsoft Intune和Microsoft Endpoint Configuration Manager)使设备可以在联机时以及无论其网络位置如何进行连接。Microsoft Endpoint Manager有助于确保始终根据公司策略配置设备,而不必等待工程师通过PowerShell Remoting连接。