我正在寻找一种使用Power
Shell导出现有
Windows防火墙规则的方法,PowerShell包含被引用程序的路径(对于那些引用程序路径而不是端口范围的规则).
Get-NetFirewallRule包含大量信息,但似乎缺少程序.优选地,在人类可读的格式中,我也可以自动化.作为PowerShell对象的输出是最好的,但表格式的东西就足够了.
我尝试过的:
> Get-NetFirewallRule,管道到Get-Member,管道到Format-List *
>使用Get-NetFirewallRule并使用具有高深度的Export-CliXml对其进行序列化 – 程序路径不在XML文件中.
>简短(简短!)在netsh周围戳
>我可以手动从WF.msc导出以获得制表符分隔列表,但我想要一些我可以自动化的东西.
>我确实找到了this,但它不是人类可读的,看起来像是一个全/无导入导出,而不是我只能提取新规则的东西
这是在管理用于在软件公司进行持续集成的数十个构建VM的上下文中,但也可以应用于我们其他工作站的系统管理.
到目前为止,我还没有找到一个解决方案,可以让我对一个系统(特定规则)制定规则,并创建一个PowerShell脚本(或GPO或其他),将相同的规则添加到其他计算机.我所缺少的只是程序路径.有了这些,我就可以轻松处理规则创建方面.
所以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 :