Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
想了解为什么Powershell参数在某些情况下不起作用_Powershell_Windows Firewall Api - Fatal编程技术网

想了解为什么Powershell参数在某些情况下不起作用

想了解为什么Powershell参数在某些情况下不起作用,powershell,windows-firewall-api,Powershell,Windows Firewall Api,我的目标是通过给定的过滤器列出所有可用的防火墙规则,这对Powershell来说是全新的 观察到一个奇怪的行为,这让我问,是否有什么隐藏的东西,我不知道。我可能会使用管道来完成同样的任务,但我感兴趣的是,为什么要理解是否存在这样的问题 Get-NetFirewallRule -DisplayGroup n* 功能如期 Get-NetFirewallRule -DisplayName n* 功能如期 Get-NetFirewallRule -DisplayName n* 但是,当我添加/组合

我的目标是通过给定的过滤器列出所有可用的防火墙规则,这对Powershell来说是全新的

观察到一个奇怪的行为,这让我问,是否有什么隐藏的东西,我不知道。我可能会使用管道来完成同样的任务,但我感兴趣的是,为什么要理解是否存在这样的问题

Get-NetFirewallRule -DisplayGroup n*
功能如期

Get-NetFirewallRule -DisplayName n*
功能如期

Get-NetFirewallRule -DisplayName n*
但是,当我添加/组合启用的True时,DisplayName会生成这样一条错误消息,其中DisplayGroup会生成一个结果

无法使用指定的命名参数解析参数集

  • Get-NetFirewallRule-DisplayName n*-Enabled True
正在工作

Windows 10计算机上的PS版本“5.1.177”。

这应该可以:

Get-NetFirewallRule | ? {($_.DisplayName -like "nsc*") -and ($_.Enabled -eq $true)}

如果你看一下,你会看到几个不同的参数集;无允许同时启用
DisplayName
功能。至于为什么不,这将是cmdlet开发者的一个问题;PowerShell不强制执行此操作。顺便提一下,我建议反转逻辑——获取与名称匹配的规则,然后按启用状态筛选,因为前者可能比后者小,并且/或者具有内置的本机筛选器,因此在大型规则集上提供更好的性能。明白了。谢谢你的澄清。在阅读有关PS的文档时,我将考虑有关参数集的信息。