我正在寻找一种方法来使用PowerShell导出现有的Windows防火墙规则,其中包括被引用程序的path(对于那些引用程序path而不是端口范围的规则)。
Get-NetFirewallRule包含大量的信息,但似乎缺less程序。 最好以人类可读的格式,我也可以自动化。 作为PowerShell对象的输出将是最好的,但表格的东西将是足够好的。
我试过了:
这是在pipe理数十个用于在软件公司持续集成的构build虚拟机的情况下,但也可以应用于我们其他工作站的系统pipe理。
到目前为止,我还没有find一个解决scheme,让我在一个系统(特定的规则)上制定规则,并创build一个PowerShell脚本(或GPO或其他),将相同的规则添加到其他机器。 我所缺less的是程序path。 一旦我有了,我可以轻松处理规则创build方面。
所以Get-NetFirewallRule实际上返回特殊的对象。 一些对象的属性只能通过关联的Get-NetFirewall *命令来访问。
有关应用程序信息,请将对象传送到Get-NetFirewallApplicationFilter
https://technet.microsoft.com/en-us/library/jj554860%28v=wps.630%29.aspx
PS C:\Users\Neil> get-netfirewallrule '{1A26910B-1B3B-4091-81E2-E3C7CBF02F45}' | get-netfirewallapplicationfilter Program : C:\Program Files\MyProgram\thisProgram.exe Package :