我的目标是通过给定的过滤器列出所有可用的防火墙规则,这对Powershell来说是全新的。
观察到一个奇怪的行为,这让我问是否有我不知道的隐藏的东西。我可能会使用Pipes来实现同样的目的,但我感兴趣的是,如果有什么原因可以理解。
Get-NetFirewallRule -DisplayGroup n*
功能符合预期
Get-NetFirewallRule -DisplayName n*
功能符合预期
但当我添加/组合Enabled True时,DisplayName会生成这样一条错误消息,DisplayGroup会生成一个结果。
无法使用指定的命名参数解析参数集。
- Get-NetFirewallRule-DisplayName n*-Enabled True
Get-NetFirewallRule -Enabled True | ? DisplayName -like nsc*
正在运行
Windows 10计算机上的PS版本"5.1.177"。
这应该有效:
Get-NetFirewallRule | ? {($_.DisplayName -like "nsc*") -and ($_.Enabled -eq $true)}