Windows Server 2008中的Set-NetFirewallRule替代方法

我试图在Windows Server 2008上启用Powershell Remoting,但是据我所知,默认的防火墙例外是,只有当计算机(客户端和服务器)驻留在同一本地子网中时,才允许PSRemoting。

如何删除Windows Server 2008中的本地子网限制。我知道在2012年及以上的服务器上,你可以这样做:

Set-NetFirewallRule –Name "Name" –RemoteAddress Any 

如何在Windows Server 2008中完全相同的事情?

不幸的是,您无法使用Set-NetFirewallRule cmdlet执行此任务,因为启用防火墙cmdlet的WMI调用仅在2012+版本中可用。

对于Windows Server 2008,您可以使用netsh advfirewall 。 例:

 netsh advfirewall firewall add rule name="Name" dir=in action=allow remoteip=any 

当然,您仍然可以使用PowerShell在远程系统上运行此命令。


或者,要回答一个稍微不同的问题,可以使用psexec快速轻松地启用PSRemoting(在大多数安全上下文中)。

 foreach ($computer in $list) { psexec \\$computer -h -d powershell.exe "enable-psremoting -force" }