Сложность в том, что я могу вытащить правило например по DisplayName:
Get-NetFirewallRule -DisplayName Имя_правила
Name : {3b28deef-8069-4492-a75a-913f2e818f30}
DisplayName : Имя_правила
Description :
DisplayGroup :
Group :
Enabled : True
Profile : Any
Platform : {}
Direction : Outbound
Action : Block
EdgeTraversalPolicy : Block
LooseSourceMapping : False
LocalOnlyMapping : False
Owner :
PrimaryStatus : OK
Status : Правило было успешно проанализировано из хранилища. (65536)
EnforcementStatus : NotApplicable
PolicyStoreSource : PersistentStore
PolicyStoreSourceType : Local
Ну или по любому из представленных выше параметров, но как вывести правило по RemotePort? Мне нужно из PowerShell или cmd узнать есть ли правило для данного tcp порта.
Нашел в интернете такую конструкцию:
Get-NetFirewallRule -Action Block -Enabled True -Direction Outbound |
Format-Table -Property DisplayName,
@{Name='Protocol';Expression={($PSItem | Get-NetFirewallPortFilter).Protocol}},
@{Name='LocalPort';Expression={($PSItem | Get-NetFirewallPortFilter).LocalPort}},
@{Name='RemotePort';Expression={($PSItem | Get-NetFirewallPortFilter).RemotePort}},
@{Name='RemoteAddress';Expression={($PSItem | Get-NetFirewallAddressFilter).RemoteAddress}},
Enabled,Profile,Direction,Action
Порты показывает, но мне нужно вывести только одно правило, а не все. Пробовал добавить |fl *порт*, но не подходит.