如何使用 PowerShell 将 Windows 防火墙的 IP 列入白名单?

如何使用 PowerShell 将 Windows 防火墙的 IP 列入白名单?

对于我想要允许的每个 IP 地址执行 New-NetFirewallRule 是否是使用 Windows 防火墙和 PowerShell 的唯一选项?文档说 -RemoteAddress 只能是单个 IP 地址、地址范围、子网或关键字(例如,任何),而不能是列表。有什么建议吗?谢谢。

答案1

您可以将每个 IP 放入一个数组,然后循环执行防火墙白名单命令。

$IParray = @('192.168.1.4','8.8.8.8','192.168.1.43','192.168.1.55')

foreach($ip in $IParray)
{
     New-NetFirewallRule -DisplayName "Allow $ip" -Direction Inbound -Action Allow -RemoteAddress $ip
}

这将为列表中的每个 IP 创建一个规则,并将每个规则命名为“Allow XXXX”,并将其替换为列表中的当前 IP。

相关内容