semenenko88
@semenenko88
Системный администратор

Как из powershell вытащить правило брандмауэра для определенного порта?

Сложность в том, что я могу вытащить правило например по 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 *порт*, но не подходит.
  • Вопрос задан
  • 243 просмотра
Решения вопроса 1
@azarij
В меру опытный никто
а так?

Get-NetFirewallPortFilter | where RemotePort -eq 554 | select InstanceID
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы