📅  最后修改于: 2021-01-08 02:29:40             🧑  作者: Mango
PowerShell中的Where-Object根据对象的属性值从集合中选择对象。
使用PowerShell 3.0的启动版,可以通过以下两种不同方式构造Where-Object cmdlet:
Where-Object
[-Property]
[[-Value]
Where-Object
[-FilterScript]
[-InputObject ]
[]
Where-Object
[-Property]
[[-Value]
Where-Object
[-Property]
[[-Value]
Where-Object
[-Property]
[[-Value]
Where-Object
[-Property]
[[-Value]
Where-Object
[-Property]
[[-Value]
Where-Object
[-Property]
[[-Value]
Where-Object
[-Property]
[[-Value]
Where-Object
[-Property]
[[-Value] ]
-Like
[-InputObject ]
[]
Where-Object
[-Property]
[[-Value] ]
-CLike
[-InputObject ]
[]
Where-Object
[-Property]
[[-Value] ]
-NotLike
[-InputObject ]
[]
Where-Object
[-Property]
[[-Value] ]
-CNotLike
[-InputObject ]
[]
Where-Object
[-Property]
[[-Value] ]
-CMatch
[-InputObject ]
[]
Where-Object
[-Property]
[[-Value] ]
-NotMatch
[-InputObject ]
[]
Where-Object
[-Property]
[[-Value] ]
-CNotMatch
[-InputObject ]
[]
Where-Object
[-Property]
[[-Value] ]
-Contains
[-InputObject ]
[]
Where-Object
[-Property]
[[-Value] ]
-CContains
[-InputObject ]
[]
Where-Object
[-Property]
[[-Value] ]
-NotContains
[-InputObject ]
[]
Where-Object
[-Property]
[[-Value] ]
-CNotContains
[-InputObject ]
[]
Where-Object
[-Property]
[[-Value] ]
-In
[-InputObject ]
[]
Where-Object
[-Property]
[[-Value] ]
-CIn
[-InputObject ]
[]
Where-Object
[-Property]
[[-Value] ]
-NotIn
[-InputObject ]
[]
Where-Object
[-Property]
[[-Value] ]
-CNotIn
[-InputObject ]
[]
Where-Object
[-Property]
[[-Value] ]
-Is
[-InputObject ]
[]
Where-Object
[-Property]
[[-Value] ]
-IsNot
[-InputObject ]
[]
以下是此cmdlet中使用的参数:
-属性
此参数用于指定对象属性的名称。它是可选的,并在Windows PowerShell的3.0版本中引入。
-值
此参数用于指定属性的值。与比较参数使用时它接受通配符(*)字符。它也是在PowerShell 3.0版中引入的。
-InputObject
此参数用于指定要过滤的对象。我们还可以将对象通过管道传递给Where-Object cmdlet。
-情商
如果属性的值与指定的值相同,则Where-Object cmdlet使用此参数获取对象。
-FilterScript
此参数用于指定用于过滤对象的脚本块。您必须将脚本块放在大括号{}中。
-比赛
如果属性的值与给定的正则表达式匹配,则Where-Object cmdlet使用此参数获取对象。
-CEQ
如果属性的值与指定的值相同,则Where-Object cmdlet使用此参数获取对象。
-NE
如果属性的值与指定的值不同,则Where-Object cmdlet使用此参数获取对象。
-CNE
如果属性的值与指定的值不同,则Where-Object cmdlet使用此参数获取对象。此操作区分大小写。
-GT
如果属性的值大于给定值,则Where-Object cmdlet使用此参数获取对象。
-CGT
如果属性的值大于给定值,则Where-Object cmdlet使用此参数获取对象。此操作区分大小写。
-LT
如果属性的值小于给定值,则Where-Object cmdlet使用此参数获取对象。
-CLT
如果属性的值小于给定值,则Where-Object cmdlet使用此参数获取对象。此操作区分大小写。
-GE
如果属性的值大于或等于给定值,则Where-Object cmdlet使用此参数获取对象。
-CGE
如果属性的值大于或等于给定值,则Where-Object cmdlet使用此参数获取对象。此操作区分大小写。
-LE
如果属性的值小于或等于给定值,则Where-Object cmdlet使用此参数获取对象。
-CLE
如果属性的值小于或等于给定值,则Where-Object cmdlet使用此参数获取对象。此操作区分大小写。
-喜欢
在哪里对象cmdlet使用此参数来获取对象,如果该属性的值相匹配的值,它包括字符。
-点击
在哪里对象cmdlet使用此参数来获取对象,如果该属性的值相匹配的值,它包括字符。此操作区分大小写。
-不喜欢
在哪里对象cmdlet使用此参数来获取对象,如果该属性的值不匹配的值,其中包含字符。
-CNotLike
在哪里对象cmdlet使用此参数来获取对象,如果该属性的值不匹配的值,其中包含字符。此操作区分大小写。
-CMatch
如果属性的值与给定的正则表达式匹配,则Where-Object cmdlet使用此参数获取对象。此操作区分大小写
-不匹配
如果属性的值与给定的正则表达式不匹配,则Where-Objec t cmdlet使用此参数获取对象。如果输入为标量,则匹配的值将保存或存储在$ Matches自动变量中。
-CNotMatch
如果属性的值与给定的正则表达式不匹配,则Where-Object cmdlet使用此参数获取对象。此操作区分大小写。
-包含
如果对象的属性值与给定值匹配,则Where-Object cmdlet使用此参数从集合中获取对象。
-C包含
如果对象的属性值中的项与给定值匹配,则Where-Object cmdlet使用此参数获取对象。此操作区分大小写。
-不包含
如果对象的属性值中的任何项均与给定值不匹配,则Where-Object cmdlet使用此参数获取对象。
-CNotContains
如果对象的属性值中的项与给定值不匹配,则Where-Object cmdlet使用此参数获取对象。此操作区分大小写。
-在
如果属性的值与任何给定值匹配,则Where-Object cmdlet使用此参数获取对象。
-Cin
如果属性的值与任何给定值匹配,则Where-Object cmdlet使用此参数获取对象。此操作区分大小写。
-NotIn
如果属性的值与任何给定值都不匹配,则Where-Object cmdlet使用此参数获取对象。
-CNotIn
如果属性的值与任何给定值都不匹配,则Where-Object cmdlet使用此参数获取对象。此操作区分大小写。
-是
如果属性的值是给定.NET Framework类型的实例,则Where-Object cmdlet使用此参数获取对象。您必须将类型的名称括在方括号中。
-不是
如果属性的值不是给定.NET Framework类型的实例,则Where-Object cmdlet使用此参数获取对象。
示例1:获取停止的服务
此示例中的两个命令均获取当前停止的所有服务的列表。第一个命令使用脚本块的格式,第二个命令使用比较语句的格式。
示例2:根据流程名称获取流程
本示例中的命令获取以A字母开头的服务的名称。 -Match参数允许您使用正则表达式。