否定 -switch (除开关参数外的所有参数)



如何获取除开关指示的项目之外的所有项目?

我使用:

Get-Disk -UniqueId 4875E7EB064AA60

仅获取特定磁盘驱动器的信息。

我想使用相同的命令,但获取除此驱动器之外的所有驱动器。

像这样的东西(在伪代码中(:

Get-Disk -not( -UniqueId 4875E7EB064AA60 )

PowerShell作为一种语言不允许"反转"参数值。您需要在事后用Where-Object过滤返回的结果。

Get-Disk | Where-Object { $_.UniqueId -ne '4875E7EB064AA60' }

有几个 cmdlet 允许表达"除此语义之外的所有内容"语义,但这取决于各个 cmdlet 是否以及如何实现该语义。例如:

  • Get-ChildItemSelect-Objectcmdlet 具有允许排除特定结果的参数-Exclude
  • Select-Stringcmdlet 有一个开关-NotMatch,用于反转参数-Pattern选择的内容。
  • 所有具有允许表达not条件(如Get-WmiObject -FilterGet-ADUser -FilterGet-ADUser -LDAPFilter(的筛选器参数的 cmdlet 显然也允许表达"不是这个"语义。

最新更新