使用
New-NetFirewallRule
创建 Windows 防火墙规则时,它会返回有关创建的规则的一些数据:
PS C:\> New-NetFirewallRule -DisplayName "Allow debug rule" -Direction inbound -Profile Any -Action Allow -LocalPort 3333 -Protocol UDP -RemoteAddress 127.0.0.2
Name : {2326a022-fake-mock-fake-636ec5f615b9}
DisplayName : Allow debug rule
Description :
DisplayGroup :
Group :
Enabled : True
Profile : Any
Platform : {}
Direction : Inbound
Action : Allow
EdgeTraversalPolicy : Block
LooseSourceMapping : False
LocalOnlyMapping : False
Owner :
PrimaryStatus : OK
Status : The rule was parsed successfully from the store. (65536)
EnforcementStatus : NotApplicable
PolicyStoreSource : PersistentStore
PolicyStoreSourceType : Local
我可以从返回的数据中获取一些字段值(例如
select
),但无法获取Name, DisplayName, Action, Direction
值,因为它没有返回。例如:LocalPort
如何获得刚刚使用
PS C:\> New-NetFirewallRule -DisplayName "Allow debug rule" -Direction inbound -Profile Any -Action Allow -LocalPort 3333 -Protocol UDP -RemoteAddress 127.0.0.2 | select Name, DisplayName, Enabled, Action, Direction
Name : {2326a022-fake-mock-fake-636ec5f615b9}
DisplayName : Allow debug rule
Enabled : True
Action : Allow
Direction : Inbound
创建的新规则的
LocalPort
值?New-NetFirewallRule
cmdlet 以获取关联的过滤器:
Get-NetFirewall*Filter