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

Jef*_*eff 4 windows powershell firewall remoting winrm

我正在尝试在 Windows Server 2008 上启用 Powershell Remoting,但据我了解,默认防火墙例外是仅当计算机(客户端和服务器)位于同一本地子网时才允许 PSRemoting。

如何在 Windows Server 2008 中删除本地子网限制。我知道在 server 2012 及更高版本中,您可以执行以下操作:

Set-NetFirewallRule –Name "Name" –RemoteAddress Any
Run Code Online (Sandbox Code Playgroud)

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

Jam*_*kin 5

遗憾的是,您无法使用Set-NetFirewallRulecmdlet执行此任务,因为启用防火墙 cmdlet 的 WMI 调用仅在 2012 年以后可用。

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

netsh advfirewall firewall add rule name="Name" dir=in action=allow remoteip=any
Run Code Online (Sandbox Code Playgroud)

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


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

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