我正在尝试使用 PowerShell 命令控制 Windows Server 2012 (R2) 防火墙(请参阅https://technet.microsoft.com/en-us/library/hh831755.aspx#BKMK_ProfileGlobalDefaults作为示例和参考)。
在我的 Linux 机器上,我能够使用 IPTables 跟踪连接状态,conntrack
以便能够允许已建立和相关的连接(http://www.iptables.info/en/connection-state.html)我还没有在 Windows 防火墙中找到等效项。
有没有办法在 Windows Server 中使用 PowerShell 执行此操作?我在整个互联网上搜索过,但没有找到任何相关内容。
答案1
您可以使用以下方式查询活动的 TCP 连接、监听端口、进程等网络状态Windows 中的命令。
https://technet.microsoft.com/en-us/library/ff961504.aspx
对于你的脚本,你可以组合网络状态使用一些 PowerShell 来执行过滤和解析并构建防火墙命令。例如,此脚本采用 netstat 命令并对其进行扩展以提供进程名称和过滤。
https://gallery.technet.microsoft.com/scriptcenter/Get-NetworkStatistics-66057d71
答案2
更改防火墙规则将影响已建立的连接。请参阅此答案新的 Windows 防火墙规则是否会影响当前打开的连接?
是时候离开 Windows 了,Linux iptables 很神奇。