如何获取除开关指示的项目之外的所有项目?
我使用:
Get-Disk -UniqueId 4875E7EB064AA60
仅获取特定磁盘驱动器的信息。
我想使用相同的命令,但获取除此驱动器之外的所有驱动器。
像这样的东西(在伪代码中(:
Get-Disk -not( -UniqueId 4875E7EB064AA60 )
PowerShell作为一种语言不允许"反转"参数值。您需要在事后用Where-Object
过滤返回的结果。
Get-Disk | Where-Object { $_.UniqueId -ne '4875E7EB064AA60' }
有几个 cmdlet 允许表达"除此语义之外的所有内容"语义,但这取决于各个 cmdlet 是否以及如何实现该语义。例如:
Get-ChildItem
和Select-Object
cmdlet 具有允许排除特定结果的参数-Exclude
。Select-String
cmdlet 有一个开关-NotMatch
,用于反转参数-Pattern
选择的内容。- 所有具有允许表达
not
条件(如Get-WmiObject -Filter
、Get-ADUser -Filter
或Get-ADUser -LDAPFilter
(的筛选器参数的 cmdlet 显然也允许表达"不是这个"语义。