Where-Object
根据集合的属性值从集合中选择对象。
语法
EqualSet (默认值)
Where-Object
[-Property] <String>
[[-Value] <Object>]
[-InputObject <PSObject>]
[-EQ]
[<CommonParameters>]
ScriptBlockSet
Where-Object
[-FilterScript] <ScriptBlock>
[-InputObject <PSObject>]
[<CommonParameters>]
LessOrEqualSet
Where-Object
[-Property] <String>
[[-Value] <Object>]
[-InputObject <PSObject>]
[-LE]
[<CommonParameters>]
CaseSensitiveGreaterOrEqualSet
Where-Object
[-Property] <String>
[[-Value] <Object>]
[-InputObject <PSObject>]
[-CGE]
[<CommonParameters>]
CaseSensitiveLessOrEqualSet
Where-Object
[-Property] <String>
[[-Value] <Object>]
[-InputObject <PSObject>]
[-CLE]
[<CommonParameters>]
CaseSensitiveInSet
Where-Object
[-Property] <String>
[[-Value] <Object>]
[-InputObject <PSObject>]
[-CIn]
[<CommonParameters>]
GreaterOrEqualSet
Where-Object
[-Property] <String>
[[-Value] <Object>]
[-InputObject <PSObject>]
[-GE]
[<CommonParameters>]
CaseSensitiveLikeSet
Where-Object
[-Property] <String>
[[-Value] <Object>]
[-InputObject <PSObject>]
[-CLike]
[<CommonParameters>]
NotLikeSet
Where-Object
[-Property] <String>
[[-Value] <Object>]
[-InputObject <PSObject>]
[-NotLike]
[<CommonParameters>]
CaseSensitiveNotLikeSet
Where-Object
[-Property] <String>
[[-Value] <Object>]
[-InputObject <PSObject>]
[-CNotLike]
[<CommonParameters>]
MatchSet
Where-Object
[-Property] <String>
[[-Value] <Object>]
[-InputObject <PSObject>]
[-Match]
[<CommonParameters>]
CaseSensitiveMatchSet
Where-Object
[-Property] <String>
[[-Value] <Object>]
[-InputObject <PSObject>]
[-CMatch]
[<CommonParameters>]
NotMatchSet
Where-Object
[-Property] <String>
[[-Value] <Object>]
[-InputObject <PSObject>]
[-NotMatch]
[<CommonParameters>]
CaseSensitiveNotMatchSet
Where-Object
[-Property] <String>
[[-Value] <Object>]
[-InputObject <PSObject>]
[-CNotMatch]
[<CommonParameters>]
ContainsSet
Where-Object
[-Property] <String>
[[-Value] <Object>]
[-InputObject <PSObject>]
[-Contains]
[<CommonParameters>]
CaseSensitiveContainsSet
Where-Object
[-Property] <String>
[[-Value] <Object>]
[-InputObject <PSObject>]
[-CContains]
[<CommonParameters>]
NotContainsSet
Where-Object
[-Property] <String>
[[-Value] <Object>]
[-InputObject <PSObject>]
[-NotContains]
[<CommonParameters>]
CaseSensitiveNotContainsSet
Where-Object
[-Property] <String>
[[-Value] <Object>]
[-InputObject <PSObject>]
[-CNotContains]
[<CommonParameters>]
InSet
Where-Object
[-Property] <String>
[[-Value] <Object>]
[-InputObject <PSObject>]
[-In]
[<CommonParameters>]
LikeSet
Where-Object
[-Property] <String>
[[-Value] <Object>]
[-InputObject <PSObject>]
[-Like]
[<CommonParameters>]
NotInSet
Where-Object
[-Property] <String>
[[-Value] <Object>]
[-InputObject <PSObject>]
[-NotIn]
[<CommonParameters>]
CaseSensitiveNotInSet
Where-Object
[-Property] <String>
[[-Value] <Object>]
[-InputObject <PSObject>]
[-CNotIn]
[<CommonParameters>]
IsSet
Where-Object
[-Property] <String>
[[-Value] <Object>]
[-InputObject <PSObject>]
[-Is]
[<CommonParameters>]
IsNotSet
Where-Object
[-Property] <String>
[[-Value] <Object>]
[-InputObject <PSObject>]
[-IsNot]
[<CommonParameters>]
CaseSensitiveEqualSet
Where-Object
[-Property] <String>
[[-Value] <Object>]
[-InputObject <PSObject>]
[-CEQ]
[<CommonParameters>]
NotEqualSet
Where-Object
[-Property] <String>
[[-Value] <Object>]
[-InputObject <PSObject>]
[-NE]
[<CommonParameters>]
CaseSensitiveNotEqualSet
Where-Object
[-Property] <String>
[[-Value] <Object>]
[-InputObject <PSObject>]
[-CNE]
[<CommonParameters>]
GreaterThanSet
Where-Object
[-Property] <String>
[[-Value] <Object>]
[-InputObject <PSObject>]
[-GT]
[<CommonParameters>]
CaseSensitiveGreaterThanSet
Where-Object
[-Property] <String>
[[-Value] <Object>]
[-InputObject <PSObject>]
[-CGT]
[<CommonParameters>]
LessThanSet
Where-Object
[-Property] <String>
[[-Value] <Object>]
[-InputObject <PSObject>]
[-LT]
[<CommonParameters>]
CaseSensitiveLessThanSet
Where-Object
[-Property] <String>
[[-Value] <Object>]
[-InputObject <PSObject>]
[-CLT]
[<CommonParameters>]
说明
Where-Object cmdlet 从传递给它的对象的集合中选择具有特定属性值的对象。
例如,可以使用 Where-Object cmdlet 来选择在特定日期之后创建的文件、具有特定 ID 的事件或使用特定版本的 Windows 的计算机。
从 Windows PowerShell 3.0 开始,可通过两种不同的方法来构造 Where-Object 命令。
脚本块。 可以使用脚本块来指定属性名称、比较运算符和属性值。
Where-Object返回脚本块语句为 true 的所有对象。例如,以下命令获取 Normal 优先级类中的进程,即 PriorityClass 属性的值等于 Normal 的进程。
Get-Process | Where-Object {$_.PriorityClass -eq "Normal"}所有 PowerShell 比较运算符都以脚本块格式有效。 有关比较运算符的详细信息,请参阅 about_Comparison_Operators。
比较语句。 还可以编写比较语句,这更像是自然语言。 Windows PowerShell 3.0 中引入了比较语句。
例如,以下命令还获取具有 Normal 优先级类的进程。 这些命令是等效的,可以互换使用。
Get-Process | Where-Object -Property PriorityClass -eq -Value "Normal"Get-Process | Where-Object PriorityClass -eq "Normal"从 Windows PowerShell 3.0 开始,Where-Object 在 Where-Object 命令中添加比较运算符作为参数。 除非指定,否则所有运算符都区分大小写。 在 Windows PowerShell 3.0 之前,PowerShell 语言中的比较运算符只能在脚本块中使用。
示例
示例 1:获取已停止的服务
这些命令获取当前已停止的所有服务的列表。
$_ 自动变量表示传递给 Where-Object cmdlet 的每个对象。
第一个命令使用脚本块格式,第二个命令使用比较语句格式。
这些命令是等效的,可以互换使用。
Get-Service | Where-Object {$_.Status -eq "Stopped"}
Get-Service | where Status -eq "Stopped"
示例 2:基于工作集获取进程
这些命令列出工作集大于 25,000 KB(KB)的工作集的进程。 由于 WorkingSet 属性的值以字节为单位存储,因此值 25,000 乘以 1,024。
scriptblock 和语句语法是等效的,可以互换使用。
Get-Process | Where-Object {$_.WorkingSet -GT 25000*1024}
Get-Process | Where-Object WorkingSet -GT (25000*1024)
示例 3:基于进程名称获取进程
这些命令获取以字母 p开头的 ProcessName 属性值的进程。 Match 运算符允许使用正则表达式匹配。
scriptblock 和语句语法是等效的,可以互换使用。
Get-Process | Where-Object {$_.ProcessName -Match "^p.*"}
Get-Process | Where-Object ProcessName -Match "^p.*"
示例 4:使用比较语句格式
此示例演示如何使用 Where-Object cmdlet 的新比较语句格式。
第一个命令使用比较语句格式。 在此命令中,不使用别名,所有参数都包含参数名称。
第二个命令是比较命令格式的更自然的使用。
别名替换为
Get-Process | Where-Object -Property Handles -GE -Value 1000
Get-Process | where Handles -GE 1000
示例 5:基于属性获取命令
此示例演示如何编写返回为 true 或 false 或具有指定属性的任何值的项的命令。 每个示例都显示了命令的脚本块和比较语句格式。
# Use Where-Object to get commands that have any value for the OutputType property of the command.
# This omits commands that do not have an OutputType property and those that have an OutputType property, but no property value.
Get-Command | where OutputType
Get-Command | where {$_.OutputType}
# Use Where-Object to get objects that are containers.
# This gets objects that have the **PSIsContainer** property with a value of $True and excludes all others.
Get-ChildItem | where PSIsContainer
Get-ChildItem | where {$_.PSIsContainer}
# Finally, use the Not operator (!) to get objects that are not containers.
# This gets objects that do have the **PSIsContainer** property and those that have a value of $False for the **PSIsContainer** property.
Get-ChildItem | where {!$_.PSIsContainer}
# You cannot use the Not operator (!) in the comparison statement format of the command.
Get-ChildItem | where PSIsContainer -eq $False
示例 6:使用多个条件
Get-Module -ListAvailable | where {($_.Name -notlike "Microsoft*" -and $_.Name -notlike "PS*") -and $_.HelpInfoUri}
此示例演示如何创建具有多个条件的 Where-Object 命令。
此命令获取支持可更新帮助功能的非核心模块。
该命令使用 cmdlet 的 Get-Module 参数来获取计算机上的所有模块。
管道运算符 (|) 将模块发送到 Where-Object cmdlet,该 cmdlet 获取名称不以 Microsoft 或 PS 开头的模块,并具有 HelpInfoURI 属性的值,该属性告知 PowerShell 在何处查找模块的更新帮助文件。
比较语句由 And 逻辑运算符连接。
此示例使用脚本块命令格式。
逻辑运算符(如 And 和 Or)仅在脚本块中有效。
不能在 Where-Object 命令的比较语句格式中使用它们。
- 有关 PowerShell 逻辑运算符的详细信息,请参阅 about_Logical_Operators。
- 有关可更新帮助功能的详细信息,请参阅 about_Updatable_Help。
参数
-CContains
指示如果对象的属性值与指定值完全匹配,则此 cmdlet 从集合中获取对象。 此作区分大小写。
例如:Get-Process | where ProcessName -CContains "svchost"
CContains 引用值的集合,如果集合包含与指定值完全匹配的项,则为 true。 如果输入是单个对象,PowerShell 会将其转换为一个对象的集合。
此参数是在 Windows PowerShell 3.0 中引入的。
参数属性
| 类型: | SwitchParameter |
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
CaseSensitiveContainsSet
| Position: | Named |
| 必需: | True |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-CEQ
指示如果属性值与指定值相同,则此 cmdlet 获取对象。 此作区分大小写。
此参数是在 Windows PowerShell 3.0 中引入的。
参数属性
| 类型: | SwitchParameter |
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
CaseSensitiveEqualSet
| Position: | Named |
| 必需: | True |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-CGE
指示如果属性值大于或等于指定值,则此 cmdlet 获取对象。 此作区分大小写。
此参数是在 Windows PowerShell 3.0 中引入的。
参数属性
| 类型: | SwitchParameter |
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
CaseSensitiveGreaterOrEqualSet
| Position: | Named |
| 必需: | True |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-CGT
指示如果属性值大于指定值,则此 cmdlet 获取对象。 此作区分大小写。
此参数是在 Windows PowerShell 3.0 中引入的。
参数属性
| 类型: | SwitchParameter |
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
CaseSensitiveGreaterThanSet
| Position: | Named |
| 必需: | True |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-CIn
指示如果属性值包含指定的值,则此 cmdlet 获取对象。 此作区分大小写。
例如:Get-Process | where -Value "svchost" -CIn ProcessName
CIn 类似于 CContains,但属性和值位置相反。 例如,以下语句均为 true。
“abc”、“def”-CContains“abc”
“abc”-CIn“abc”、“def”
此参数是在 Windows PowerShell 3.0 中引入的。
参数属性
| 类型: | SwitchParameter |
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
CaseSensitiveInSet
| Position: | Named |
| 必需: | True |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-CLE
指示如果属性值小于或等于指定值,则此 cmdlet 获取对象。 此作区分大小写。
此参数是在 Windows PowerShell 3.0 中引入的。
参数属性
| 类型: | SwitchParameter |
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
CaseSensitiveLessOrEqualSet
| Position: | Named |
| 必需: | True |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-CLike
指示如果属性值与包含通配符的值匹配,则此 cmdlet 获取对象。 此作区分大小写。
例如:Get-Process | where ProcessName -CLike "*host"
此参数是在 Windows PowerShell 3.0 中引入的。
参数属性
| 类型: | SwitchParameter |
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
CaseSensitiveLikeSet
| Position: | Named |
| 必需: | True |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-CLT
指示如果属性值小于指定值,则此 cmdlet 获取对象。 此作区分大小写。
此参数是在 Windows PowerShell 3.0 中引入的。
参数属性
| 类型: | SwitchParameter |
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
CaseSensitiveLessThanSet
| Position: | Named |
| 必需: | True |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-CMatch
指示如果属性值与指定的正则表达式匹配,则此 cmdlet 获取对象。
此作区分大小写。
当输入为标量时,匹配的值将保存在 $Matches 自动变量中。
例如:Get-Process | where ProcessName -CMatch "Shell"
此参数是在 Windows PowerShell 3.0 中引入的。
参数属性
| 类型: | SwitchParameter |
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
CaseSensitiveMatchSet
| Position: | Named |
| 必需: | True |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-CNE
指示如果属性值不同于指定值,则此 cmdlet 获取对象。 此作区分大小写。
此参数是在 Windows PowerShell 3.0 中引入的。
参数属性
| 类型: | SwitchParameter |
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
CaseSensitiveNotEqualSet
| Position: | Named |
| 必需: | True |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-CNotContains
指示如果对象的属性值与指定值不完全匹配,则此 cmdlet 获取对象。 此作区分大小写。
例如:Get-Process | where ProcessName -CNotContains "svchost"
“NotContains”和“CNotContains”是指值的集合,并且当集合不包含与指定值完全匹配的任何项时为 true。 如果输入是单个对象,PowerShell 会将其转换为一个对象的集合。
此参数是在 Windows PowerShell 3.0 中引入的。
参数属性
| 类型: | SwitchParameter |
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
CaseSensitiveNotContainsSet
| Position: | Named |
| 必需: | True |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-CNotIn
指示如果属性值与指定值不完全匹配,则此 cmdlet 获取对象。 此作区分大小写。
例如:Get-Process | where -Value "svchost" -CNotIn -Property ProcessName
NotIn 和 CNotIn 运算符类似于 NotContains 和 CNotContains,但属性值和值位置是相反的。 例如,以下语句为 true。
“abc”、“def”-CNotContains“Abc”
“abc”-CNotIn“Abc”、“def”
参数属性
| 类型: | SwitchParameter |
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
CaseSensitiveNotInSet
| Position: | Named |
| 必需: | True |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-CNotLike
指示如果属性值与包含通配符的值不匹配,则此 cmdlet 获取对象。 此作区分大小写。
例如:Get-Process | where ProcessName -CNotLike "*host"
此参数是在 Windows PowerShell 3.0 中引入的。
参数属性
| 类型: | SwitchParameter |
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
CaseSensitiveNotLikeSet
| Position: | Named |
| 必需: | True |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-CNotMatch
指示如果属性值与指定的正则表达式不匹配,则此 cmdlet 获取对象。
此作区分大小写。
当输入为标量时,匹配的值将保存在 $Matches 自动变量中。
例如:Get-Process | where ProcessName -CNotMatch "Shell"
此参数是在 Windows PowerShell 3.0 中引入的。
参数属性
| 类型: | SwitchParameter |
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
CaseSensitiveNotMatchSet
| Position: | Named |
| 必需: | True |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-Contains
指示如果对象属性值中的任何项与指定值完全匹配,则此 cmdlet 获取对象。
例如:Get-Process | where ProcessName -Contains "Svchost"
如果属性值包含单个对象,PowerShell 会将其转换为一个对象的集合。
此参数是在 Windows PowerShell 3.0 中引入的。
参数属性
| 类型: | SwitchParameter |
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
| 别名: | IContains |
参数集
ContainsSet
| Position: | Named |
| 必需: | True |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-EQ
指示如果属性值与指定值相同,则此 cmdlet 获取对象。
此参数是在 Windows PowerShell 3.0 中引入的。
参数属性
| 类型: | SwitchParameter |
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
| 别名: | IEQ |
参数集
EqualSet
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-FilterScript
指定用于筛选对象的脚本块。 将脚本块括在大括号中({})。
参数名称 FilterScript 是可选的。
参数属性
| 类型: | ScriptBlock |
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
ScriptBlockSet
| Position: | 0 |
| 必需: | True |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-GE
指示如果属性值大于或等于指定值,则此 cmdlet 获取对象。
此参数是在 Windows PowerShell 3.0 中引入的。
参数属性
| 类型: | SwitchParameter |
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
| 别名: | IGE |
参数集
GreaterOrEqualSet
| Position: | Named |
| 必需: | True |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-GT
指示如果属性值大于指定值,则此 cmdlet 获取对象。
此参数是在 Windows PowerShell 3.0 中引入的。
参数属性
| 类型: | SwitchParameter |
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
| 别名: | IGT |
参数集
GreaterThanSet
| Position: | Named |
| 必需: | True |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-In
指示如果属性值与任何指定值匹配,则此 cmdlet 获取对象。
例如:Get-Process | where -Property ProcessName -in -Value "Svchost", "TaskHost", "WsmProvHost"
如果 Value 参数的值是单个对象,PowerShell 会将其转换为一个对象的集合。
如果对象的属性值是数组,则 PowerShell 使用引用相等性来确定匹配项。
Where-Object 仅当 Property 参数的值和值的任何 值是对象的 同一实例时,才返回对象。
此参数是在 Windows PowerShell 3.0 中引入的。
参数属性
| 类型: | SwitchParameter |
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
| 别名: | IIn |
参数集
InSet
| Position: | Named |
| 必需: | True |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-InputObject
指定要筛选的对象。
还可以通过管道将对象传递给 Where-Object。
将 InputObject 参数与 命令结果一起使用Where-Object时,Where-Object 值被视为单个对象,而不是管道命令结果。
即使值是命令的结果(如 -InputObject (Get-Process)),也是如此。
由于 InputObject 无法从数组或对象集合中返回单个属性,因此,如果 Where-Object 筛选那些在定义属性中具有特定值的对象的对象集合,则可以在管道中使用 Where-Object,如本主题中的示例所示。
参数属性
| 类型: | PSObject |
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
(All)
| Position: | Named |
| 必需: | False |
| 来自管道的值: | True |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-Is
指示如果属性值是指定 .NET Framework 类型的实例,则此 cmdlet 获取对象。 将类型名称括在方括号中。
例如: Get-Process | where StartTime -Is [DateTime]
此参数是在 Windows PowerShell 3.0 中引入的。
参数属性
| 类型: | SwitchParameter |
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
IsSet
| Position: | Named |
| 必需: | True |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-IsNot
指示如果属性值不是指定 .NET Framework 类型的实例,则此 cmdlet 获取对象。
例如: Get-Process | where StartTime -IsNot [DateTime]
此参数是在 Windows PowerShell 3.0 中引入的。
参数属性
| 类型: | SwitchParameter |
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
IsNotSet
| Position: | Named |
| 必需: | True |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-LE
指示如果属性值小于或等于指定值,则此 cmdlet 获取对象。
此参数是在 Windows PowerShell 3.0 中引入的。
参数属性
| 类型: | SwitchParameter |
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
| 别名: | ILE |
参数集
LessOrEqualSet
| Position: | Named |
| 必需: | True |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-Like
指示如果属性值与包含通配符的值匹配,则此 cmdlet 获取对象。
例如:Get-Process | where ProcessName -Like "*host"
此参数是在 Windows PowerShell 3.0 中引入的。
参数属性
| 类型: | SwitchParameter |
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
| 别名: | ILike |
参数集
LikeSet
| Position: | Named |
| 必需: | True |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-LT
指示如果属性值小于指定值,则此 cmdlet 获取对象。
此参数是在 Windows PowerShell 3.0 中引入的。
参数属性
| 类型: | SwitchParameter |
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
| 别名: | ILT |
参数集
LessThanSet
| Position: | Named |
| 必需: | True |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-Match
指示如果属性值与指定的正则表达式匹配,则此 cmdlet 获取对象。
当输入为标量时,匹配的值将保存在 $Matches 自动变量中。
例如:Get-Process | where ProcessName -Match "shell"
此参数是在 Windows PowerShell 3.0 中引入的。
参数属性
| 类型: | SwitchParameter |
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
| 别名: | IMatch |
参数集
MatchSet
| Position: | Named |
| 必需: | True |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-NE
指示如果属性值不同于指定值,则此 cmdlet 获取对象。
此参数是在 Windows PowerShell 3.0 中引入的。
参数属性
| 类型: | SwitchParameter |
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
| 别名: | INE |
参数集
NotEqualSet
| Position: | Named |
| 必需: | True |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-NotContains
指示如果属性值中的项与指定值完全匹配,则此 cmdlet 将获取对象。
例如:Get-Process | where ProcessName -NotContains "Svchost"
NotContains 引用值集合,如果集合不包含与指定值完全匹配的任何项,则为 true。 如果输入是单个对象,PowerShell 会将其转换为一个对象的集合。
此参数是在 Windows PowerShell 3.0 中引入的。
参数属性
| 类型: | SwitchParameter |
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
| 别名: | INotContains |
参数集
NotContainsSet
| Position: | Named |
| 必需: | True |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-NotIn
指示如果属性值与任何指定值不完全匹配,则此 cmdlet 获取对象。
例如:Get-Process | where -Value "svchost" -NotIn -Property ProcessName
如果 Value 的值是单个对象,PowerShell 会将该值转换为一个对象的集合。
如果对象的属性值是数组,则 PowerShell 使用引用相等性来确定匹配项。
Where-Object 仅当 属性 的值和 值 的值与对象的实例不同时,才会返回该对象。
此参数是在 Windows PowerShell 3.0 中引入的。
参数属性
| 类型: | SwitchParameter |
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
| 别名: | INotIn |
参数集
NotInSet
| Position: | Named |
| 必需: | True |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-NotLike
指示如果属性值与包含通配符的值不匹配,则此 cmdlet 获取对象。
例如:Get-Process | where ProcessName -NotLike "*host"
此参数是在 Windows PowerShell 3.0 中引入的。
参数属性
| 类型: | SwitchParameter |
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
| 别名: | INotLike |
参数集
NotLikeSet
| Position: | Named |
| 必需: | True |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-NotMatch
指示当属性值与指定的正则表达式不匹配时,此 cmdlet 获取对象。
当输入为标量时,匹配的值将保存在 $Matches 自动变量中。
例如:Get-Process | where ProcessName -NotMatch "PowerShell"
此参数是在 Windows PowerShell 3.0 中引入的。
参数属性
| 类型: | SwitchParameter |
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
| 别名: | INotMatch |
参数集
NotMatchSet
| Position: | Named |
| 必需: | True |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-Property
指定对象属性的名称。
参数名称(属性)是可选的。
此参数是在 Windows PowerShell 3.0 中引入的。
参数属性
| 类型: | String |
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
EqualSet
| Position: | 0 |
| 必需: | True |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
LessOrEqualSet
| Position: | 0 |
| 必需: | True |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
CaseSensitiveGreaterOrEqualSet
| Position: | 0 |
| 必需: | True |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
CaseSensitiveLessOrEqualSet
| Position: | 0 |
| 必需: | True |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
CaseSensitiveInSet
| Position: | 0 |
| 必需: | True |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
GreaterOrEqualSet
| Position: | 0 |
| 必需: | True |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
CaseSensitiveLikeSet
| Position: | 0 |
| 必需: | True |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
NotLikeSet
| Position: | 0 |
| 必需: | True |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
CaseSensitiveNotLikeSet
| Position: | 0 |
| 必需: | True |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
MatchSet
| Position: | 0 |
| 必需: | True |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
CaseSensitiveMatchSet
| Position: | 0 |
| 必需: | True |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
NotMatchSet
| Position: | 0 |
| 必需: | True |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
CaseSensitiveNotMatchSet
| Position: | 0 |
| 必需: | True |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
ContainsSet
| Position: | 0 |
| 必需: | True |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
CaseSensitiveContainsSet
| Position: | 0 |
| 必需: | True |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
NotContainsSet
| Position: | 0 |
| 必需: | True |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
CaseSensitiveNotContainsSet
| Position: | 0 |
| 必需: | True |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
InSet
| Position: | 0 |
| 必需: | True |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
LikeSet
| Position: | 0 |
| 必需: | True |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
NotInSet
| Position: | 0 |
| 必需: | True |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
CaseSensitiveNotInSet
| Position: | 0 |
| 必需: | True |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
IsSet
| Position: | 0 |
| 必需: | True |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
IsNotSet
| Position: | 0 |
| 必需: | True |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
CaseSensitiveEqualSet
| Position: | 0 |
| 必需: | True |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
NotEqualSet
| Position: | 0 |
| 必需: | True |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
CaseSensitiveNotEqualSet
| Position: | 0 |
| 必需: | True |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
GreaterThanSet
| Position: | 0 |
| 必需: | True |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
CaseSensitiveGreaterThanSet
| Position: | 0 |
| 必需: | True |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
LessThanSet
| Position: | 0 |
| 必需: | True |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
CaseSensitiveLessThanSet
| Position: | 0 |
| 必需: | True |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-Value
指定属性值。 参数名称 “值”是可选的。 此参数在与以下比较参数一起使用时接受通配符:
- 点击
- CNotLike 类
- 喜欢
- 不喜欢
此参数是在 Windows PowerShell 3.0 中引入的。
参数属性
| 类型: | Object |
| 默认值: | None |
| 支持通配符: | True |
| 不显示: | False |
参数集
EqualSet
| Position: | 1 |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
LessOrEqualSet
| Position: | 1 |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
CaseSensitiveGreaterOrEqualSet
| Position: | 1 |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
CaseSensitiveLessOrEqualSet
| Position: | 1 |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
CaseSensitiveInSet
| Position: | 1 |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
GreaterOrEqualSet
| Position: | 1 |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
CaseSensitiveLikeSet
| Position: | 1 |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
NotLikeSet
| Position: | 1 |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
CaseSensitiveNotLikeSet
| Position: | 1 |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
MatchSet
| Position: | 1 |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
CaseSensitiveMatchSet
| Position: | 1 |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
NotMatchSet
| Position: | 1 |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
CaseSensitiveNotMatchSet
| Position: | 1 |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
ContainsSet
| Position: | 1 |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
CaseSensitiveContainsSet
| Position: | 1 |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
NotContainsSet
| Position: | 1 |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
CaseSensitiveNotContainsSet
| Position: | 1 |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
InSet
| Position: | 1 |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
LikeSet
| Position: | 1 |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
NotInSet
| Position: | 1 |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
CaseSensitiveNotInSet
| Position: | 1 |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
IsSet
| Position: | 1 |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
IsNotSet
| Position: | 1 |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
CaseSensitiveEqualSet
| Position: | 1 |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
NotEqualSet
| Position: | 1 |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
CaseSensitiveNotEqualSet
| Position: | 1 |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
GreaterThanSet
| Position: | 1 |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
CaseSensitiveGreaterThanSet
| Position: | 1 |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
LessThanSet
| Position: | 1 |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
CaseSensitiveLessThanSet
| Position: | 1 |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
CommonParameters
此 cmdlet 支持通用参数:-Debug、-ErrorAction、-ErrorVariable、-InformationAction、-InformationVariable、-OutBuffer、-OutVariable、-PipelineVariable、-ProgressAction、-Verbose、-WarningAction 和 -WarningVariable。 有关详细信息,请参阅 about_CommonParameters。
输入
PSObject
可以通过管道将对象传递给此 cmdlet。
输出
Object
此 cmdlet 从输入对象集中返回选定的项。
备注
- 从 Windows PowerShell 4.0 开始,添加了用于集合的
Where和ForEach方法。- 可以在此处阅读有关这些新方法的详细信息,about_arrays