我正在尝试在 Windows Server 2008 上启用 Powershell Remoting,但据我所知,默认防火墙例外是仅当计算机(客户端和服务器)位于同一本地子网中时才允许 PSRemoting。
如何在 Windows Server 2008 中删除本地子网限制。我知道在服务器 2012 及更高版本中,您可以执行以下操作:
Set-NetFirewallRule –Name "Name" –RemoteAddress Any
如何在 Windows Server 2008 中做完全相同的事情?
答案1
不幸的是,您无法使用 cmdlet 执行此任务Set-NetFirewallRule
,因为用于启用防火墙 cmdlet 的 WMI 调用仅在 2012+ 中可用。
对于 Windows Server 2008,您可以使用netsh advfirewall
。 例子:
netsh advfirewall firewall add rule name="Name" dir=in action=allow remoteip=any
当然,您仍然可以使用 PowerShell 在远程系统上运行此命令。
或者,要回答稍微不同的问题,你可以使用执行快速轻松地启用 PSRemoting(在大多数安全环境中)。
foreach ($computer in $list) {
psexec \\$computer -h -d powershell.exe "enable-psremoting -force"
}