Я ищу способ экспортировать существующие правила брандмауэра Windows с помощью PowerShell. который включает путь к указанной программе (для тех правил, которые ссылаются на путь к программе, а не на диапазон портов).
Get-NetFirewallRule
содержит много информации, но, похоже, отсутствует Program. Желательно в удобочитаемом формате, с помощью которого я могу автоматизировать. Лучше всего было бы выводить данные в виде объектов PowerShell, но достаточно чего-нибудь табличного.
Что я пробовал:
Это в контексте управления десятками виртуальных машин сборки, используемых для непрерывной интеграции в компании-разработчике программного обеспечения, но также может применяться к системному администрированию других наших рабочих станций.
Пока я не нашел решения, которое позволило бы мне взять правила в одной системе (определенные правила) и создать сценарий PowerShell (или объект групповой политики или что-то еще), чтобы добавить то же правило на другие машины. Все, что мне не хватает, это путь к программе. Как только я это получу, я могу легко справиться с аспектом создания правила.
Таким образом, 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 :