如何在工作组和域中启用PowerShell远程处理

2025-10-09 00:39:18

1、     如前所述,为了我们的目的,术语“PowerShell远程处理”不是指使用如下命令使用-ComputerName参数:

如何在工作组和域中启用PowerShell远程处理

2、      虽然上述命令的工作原理很好,但它可以连续执行远程命令(一台计算机),也可以在非标准的网络端口上启动。相比之下,这样的命令:

如何在工作组和域中启用PowerShell远程处理

3、     以散射方式发送Get-Process命令,并行和传统的基于Web和防火墙的端口触及所有目标机器。

     回想一下,我们还可以利用Windows PowerShell中基于会话的远程处理。例如,我可以发出以下语句,以便从我的管理工作站访问名为mail1的服务器上的远程PowerShell控制台会话:

如何在工作组和域中启用PowerShell远程处理

4、   接下来我将演示下如何在域和工作组环境中启用PowerShell远程处理。Windows Server 2012和2012 R2默认情况下启用了PowerShell远程处理,但您需要做一些工作才能使您的下级服务器和客户端计算机配置为远程处理。

1、       Windows PowerShell远程处理在域环境中进行无限配置是非常容易的,因为所有域成员计算机都可以隐含地相互信任。因此,在Windows客户端或服务器计算机上打开PowerShell远程处理只是打开高架PowerShell控制台会话并发出以下语句的问题:

如何在工作组和域中启用PowerShell远程处理

2、       该-Force参数在技术上是可选的,但我建议你使用它; 否则,您将被卡住通过确认提示,如下所示:

如何在工作组和域中启用PowerShell远程处理

3、       具体来说,Enable-PSRemoting命令对系统进行以下更改:

       启动Windows远程管理(WinRM)服务并将其设置为自动启动

       创建一个侦听器以接受任何IP地址的远程请求

       启用WS-Management的防火墙异常

       进行一些额外的引擎内更改以支持PowerShell远程处理会话和工作流

4、          注意:您可能会想知道Enable-PSRemoting与Winrm quickconfig之间有什么区别。从技术上讲,并不多。实际上,运行Enable-PSRemoting可以执行winrm quickconfig的所有工作,但包括特定于Windows PowerShell的环境更改。长篇小说:如果您运行Enable-PSRemoting,则不需要运行winrm quickconfig。

5、          可悲的是,Windows PowerShell版本3到5不包含一个简单的方法来验证是否在框上启用PowerShell远程处理。在这里,尝试以下:

如何在工作组和域中启用PowerShell远程处理

6、        以下屏幕截图显示了在Windows框上启用PSRemoting时,如果我们删除-Force参数,我们将需要执行额外的确认相关工作。

如何在工作组和域中启用PowerShell远程处理

7、        当然,我们不想在我们的每个服务器和/或客户端盒子上运行Enable-PSRemoting,特别是如果所有的数据库数量达数百个。相反,我们可以转向使用“组策略”来改变此配置。

8、        可悲的是,即使在Windows Server 2012中,也没有“交钥匙”组策略设置来启用PowerShell远程处理。相反,我们必须直接配置WinRM服务,并手动进行Windows防火墙例外。

1、        首先,打开组策略编辑器(我正在使用Windows Server 2012 R2域控制器)并导航到以下路径:

        计算机配置\策略\管理模板\ Windows组件\ Windows远程管理(WinRM)\ WinRM服务

        如下面的截图所示,我们启用的策略称为允许通过WinRM进行远程服务器管理,我们应该同时启用策略并将IPv4 / IPv6过滤器设置为全部(*)。

如何在工作组和域中启用PowerShell远程处理

1、     其次,我们需要确保WinRM服务设置为自动启动。导航:

     计算机配置\策略\ Windows设置\安全设置\系统服务

     选择Windows远程管理(WS-Management)服务并将其设置为自动启动。

如何在工作组和域中启用PowerShell远程处理

1、      第三,最后,我们需要设置Windows防火墙规则:

      计算机配置\策略\ Windows设置\安全设置\ Windows防火墙与高级安全\ Windows防火墙与高级安全

      您将需要为Windows Remote Management预定义规则设置入站和出站津贴,如下图所示。

如何在工作组和域中启用PowerShell远程处理

2、   现在推出组策略,重新启动所有受影响的计算机,并完成。

1、        当您的计算机存在于Active Directory域之外时,PowerShell远程处理是可能的,但设置起来相当繁琐。一种方法是使用数字证书; 另一个,我们将在这里使用,实现了TrustedHosts列表。

2、          TrustedHosts列表记录您要向本地计算机授予远程访问权限的任何其他系统的主机名。首先,您应该通过运行以下命令来验证您的工作组计算机的TrustedHosts列表是否为空:

如何在工作组和域中启用PowerShell远程处理

3、         要授予另一台计算机权限与本地主机建立PowerShell远程处理会话,请运行以下命令:

如何在工作组和域中启用PowerShell远程处理

4、     这里有几件事可以出错。如果您的任何NIC的位置设置为“公开”,您将失败。解决此问题的一个方法是将有问题的NIC设置为使用“私人位置”配置文件; 假设您网络周边内部安全,这应该不是一个问题。

如何在工作组和域中启用PowerShell远程处理

5、        请注意,Set-NetConnectionProfile cmdlet仅在Windows 8.1和Windows Server 2012 R2上运行的Windows PowerShell 4中可用。此外,您可以运行Get-NetAdapter 来获取NIC接口索引值。

     当然,别忘了,您还需要确保在所有相关工作组计算机上启用PowerShell远程处理。

如何在工作组和域中启用PowerShell远程处理

1、要验证PowerShell远程处理,请尝试从其他计算机输入PowerShell会话:

        Enter-PSSession –Computername <hostname>

2、        如果您看到“拒绝访问”错误,最可能的解释是您没有从高架Windows PowerShell会话中运行。另一个可能的原因是您需要指定在远程计算机上工作的远程凭据:

       Enter-PSSession –Computername "host2" –Credential "host2\administrator"

1、      建议所有的计算机 - 无论服务器还是客户端 - 都应该运行Windows PowerShell的最新版本,以便利用所有这些远程优势。

2、     我认为你会发现你在启用PowerShell远程处理方面获得的便利性是巨大的。即使在我的家庭工作组网络中,我也可以使用Windows PowerShell自动化这么多的繁琐的工作。

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢