Where-Object
根据属性值从集合中选择对象。
语法
Where-Object
[-InputObject <PSObject>]
[-Property] <String>
[[-Value] <Object>]
[-EQ]
[<CommonParameters>]
Where-Object
[-InputObject <PSObject>]
[-FilterScript] <ScriptBlock>
[<CommonParameters>]
Where-Object
[-InputObject <PSObject>]
[-Property] <String>
[[-Value] <Object>]
-Match
[<CommonParameters>]
Where-Object
[-InputObject <PSObject>]
[-Property] <String>
[[-Value] <Object>]
-CEQ
[<CommonParameters>]
Where-Object
[-InputObject <PSObject>]
[-Property] <String>
[[-Value] <Object>]
-NE
[<CommonParameters>]
Where-Object
[-InputObject <PSObject>]
[-Property] <String>
[[-Value] <Object>]
-CNE
[<CommonParameters>]
Where-Object
[-InputObject <PSObject>]
[-Property] <String>
[[-Value] <Object>]
-GT
[<CommonParameters>]
Where-Object
[-InputObject <PSObject>]
[-Property] <String>
[[-Value] <Object>]
-CGT
[<CommonParameters>]
Where-Object
[-InputObject <PSObject>]
[-Property] <String>
[[-Value] <Object>]
-LT
[<CommonParameters>]
Where-Object
[-InputObject <PSObject>]
[-Property] <String>
[[-Value] <Object>]
-CLT
[<CommonParameters>]
Where-Object
[-InputObject <PSObject>]
[-Property] <String>
[[-Value] <Object>]
-GE
[<CommonParameters>]
Where-Object
[-InputObject <PSObject>]
[-Property] <String>
[[-Value] <Object>]
-CGE
[<CommonParameters>]
Where-Object
[-InputObject <PSObject>]
[-Property] <String>
[[-Value] <Object>]
-LE
[<CommonParameters>]
Where-Object
[-InputObject <PSObject>]
[-Property] <String>
[[-Value] <Object>]
-CLE
[<CommonParameters>]
Where-Object
[-InputObject <PSObject>]
[-Property] <String>
[[-Value] <Object>]
-Like
[<CommonParameters>]
Where-Object
[-InputObject <PSObject>]
[-Property] <String>
[[-Value] <Object>]
-CLike
[<CommonParameters>]
Where-Object
[-InputObject <PSObject>]
[-Property] <String>
[[-Value] <Object>]
-NotLike
[<CommonParameters>]
Where-Object
[-InputObject <PSObject>]
[-Property] <String>
[[-Value] <Object>]
-CNotLike
[<CommonParameters>]
Where-Object
[-InputObject <PSObject>]
[-Property] <String>
[[-Value] <Object>]
-CMatch
[<CommonParameters>]
Where-Object
[-InputObject <PSObject>]
[-Property] <String>
[[-Value] <Object>]
-NotMatch
[<CommonParameters>]
Where-Object
[-InputObject <PSObject>]
[-Property] <String>
[[-Value] <Object>]
-CNotMatch
[<CommonParameters>]
Where-Object
[-InputObject <PSObject>]
[-Property] <String>
[[-Value] <Object>]
-Contains
[<CommonParameters>]
Where-Object
[-InputObject <PSObject>]
[-Property] <String>
[[-Value] <Object>]
-CContains
[<CommonParameters>]
Where-Object
[-InputObject <PSObject>]
[-Property] <String>
[[-Value] <Object>]
-NotContains
[<CommonParameters>]
Where-Object
[-InputObject <PSObject>]
[-Property] <String>
[[-Value] <Object>]
-CNotContains
[<CommonParameters>]
Where-Object
[-InputObject <PSObject>]
[-Property] <String>
[[-Value] <Object>]
-In
[<CommonParameters>]
Where-Object
[-InputObject <PSObject>]
[-Property] <String>
[[-Value] <Object>]
-CIn
[<CommonParameters>]
Where-Object
[-InputObject <PSObject>]
[-Property] <String>
[[-Value] <Object>]
-NotIn
[<CommonParameters>]
Where-Object
[-InputObject <PSObject>]
[-Property] <String>
[[-Value] <Object>]
-CNotIn
[<CommonParameters>]
Where-Object
[-InputObject <PSObject>]
[-Property] <String>
[[-Value] <Object>]
-Is
[<CommonParameters>]
Where-Object
[-InputObject <PSObject>]
[-Property] <String>
[[-Value] <Object>]
-IsNot
[<CommonParameters>]
Where-Object
[-InputObject <PSObject>]
[-Property] <String>
-Not
[<CommonParameters>]
说明
cmdlet Where-Object
从传递给它的对象集合中选择具有特定属性值的对象。 例如,可以使用 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 语言中的比较运算符只能在脚本块中使用。
向 提供单个属性Where-Object
时,cmdlet 会将 属性的值视为布尔表达式。 当属性的 Length 值不为零时,表达式的计算结果为 $true
。 例如: ('hi', '', 'there') | Where-Object Length
上一个示例在功能上等效于:
('hi', '', 'there') | Where-Object Length -GT 0
('hi', '', 'there') | Where-Object { $_.Length -gt 0 }
有关 PowerShell 如何计算布尔值的详细信息,请参阅 about_Booleans。
示例
示例 1:获取已停止的服务
这些命令获取已停止的所有服务的列表。 自动 $_
变量表示传递给 Where-Object
cmdlet 的每个对象。
第一个命令使用脚本块格式,第二个命令使用比较语句格式。 命令以相同的方式筛选服务,并返回相同的输出。 只有语法不同。
Get-Service | Where-Object { $_.Status -eq "Stopped" }
Get-Service | Where-Object Status -EQ "Stopped"
示例 2:获取基于工作集的进程
这些命令列出工作集大于 250 MB (MB) 的进程。 命令以相同的方式筛选进程,并返回相同的输出。 只有语法不同。
Get-Process | Where-Object { $_.WorkingSet -GT 250MB }
Get-Process | Where-Object WorkingSet -GT 250MB
示例 3:基于进程名称获取进程
这些命令获取具有以字母 p
开头的 ProcessName 属性值的进程。 Match 运算符允许使用正则表达式匹配。
命令以相同的方式筛选进程,并返回相同的输出。 只有语法不同。
Get-Process | Where-Object { $_.ProcessName -Match "^p.*" }
Get-Process | Where-Object ProcessName -Match "^p.*"
示例 4:使用比较语句格式
此示例演示如何使用 cmdlet 的新比较语句格式 Where-Object
。
第一个命令使用比较语句格式。 它不使用任何别名,并包含每个参数的名称。
第二个命令是比较命令格式的更自然的用法。 命令将 where
别名 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-Object OutputType
Get-Command | Where-Object { $_.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-Object PSIsContainer
Get-ChildItem | Where-Object { $_.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-Object -Not PSIsContainer
Get-ChildItem | Where-Object { !$_.PSIsContainer }
示例 6:使用多个条件
Get-Module -ListAvailable | Where-Object {
($_.Name -notlike "Microsoft*" -and $_.Name -notlike "PS*") -and $_.HelpInfoUri
}
此示例演示如何创建具有多个条件的 Where-Object
命令。
此命令可获取用于支持可更新帮助功能的非核心模块。 命令使用 cmdlet 的 Get-Module
ListAvailable 参数获取计算机上的所有模块。 管道操作员 (|
) 将模块发送到 Where-Object
cmdlet,该 cmdlet 获取名称不以 Microsoft
或 PS
开头的模块,并且 具有 HelpInfoURI 属性的值,该属性指示 PowerShell 在何处查找模块的更新帮助文件。 逻辑 -and
运算符连接比较语句。
该示例使用脚本块命令格式。 逻辑运算符(如 -and
、-or
和 -not
)仅在脚本块中有效。 不能在命令的比较语句格式 Where-Object
中使用它们。
- 有关 PowerShell 逻辑运算符的详细信息,请参阅 about_Logical_Operators。
- 有关可更新帮助功能的详细信息,请参阅 about_Updatable_Help。
参数
-CContains
指示如果对象的属性值与指定值完全匹配,则此 cmdlet 从集合中获取对象。 此操作区分大小写。
例如: Get-Process | Where-Object ProcessName -CContains "svchost"
CContains 引用值的集合,如果集合包含与指定值完全匹配的项,则为 true。 如果输入是单个对象,PowerShell 会将其转换为一个对象的集合。
已在 Windows PowerShell 3.0 中引入了此参数。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-CEQ
指示如果属性值与指定值相同,则此 cmdlet 获取对象。 此操作区分大小写。
已在 Windows PowerShell 3.0 中引入了此参数。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-CGE
指示如果属性值大于或等于指定值,则此 cmdlet 获取对象。 此操作区分大小写。
已在 Windows PowerShell 3.0 中引入了此参数。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-CGT
指示如果属性值大于指定值,则此 cmdlet 获取对象。 此操作区分大小写。
已在 Windows PowerShell 3.0 中引入了此参数。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-CIn
指示如果属性值包含指定值,则此 cmdlet 获取对象。 此操作区分大小写。
例如: Get-Process | Where-Object -Value "svchost" -CIn ProcessName
CIn 类似于 CContains,只不过属性和值位置是相反的。 例如,以下语句都为 true。
"abc", "def" -CContains "abc"
"abc" -CIn "abc", "def"
已在 Windows PowerShell 3.0 中引入了此参数。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-CLE
指示如果属性值小于或等于指定值,则此 cmdlet 获取对象。 此操作区分大小写。
已在 Windows PowerShell 3.0 中引入了此参数。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-CLike
指示如果属性值与包含通配符 *
() 的值匹配,则此 cmdlet 获取对象。 此操作区分大小写。
例如: Get-Process | Where-Object ProcessName -CLike "*host"
已在 Windows PowerShell 3.0 中引入了此参数。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-CLT
指示如果属性值小于指定值,则此 cmdlet 获取对象。 此操作区分大小写。
已在 Windows PowerShell 3.0 中引入了此参数。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-CMatch
指示如果属性值与指定的正则表达式匹配,则此 cmdlet 获取对象。 此操作区分大小写。 当输入是单个对象时,匹配的值将保存在自动变量中 $Matches
。
例如: Get-Process | Where-Object ProcessName -CMatch "Shell"
已在 Windows PowerShell 3.0 中引入了此参数。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-CNE
指示如果属性值不同于指定值,则此 cmdlet 获取对象。 此操作区分大小写。
已在 Windows PowerShell 3.0 中引入了此参数。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-CNotContains
指示如果对象的属性值与指定值不完全匹配,则此 cmdlet 获取对象。 此操作区分大小写。
例如: Get-Process | Where-Object ProcessName -CNotContains "svchost"
NotContains 和 CNotContains 引用值集合,当集合不包含与指定值完全匹配的任何项时,为 true。 如果输入是单个对象,PowerShell 会将其转换为一个对象的集合。
已在 Windows PowerShell 3.0 中引入了此参数。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-CNotIn
指示如果属性值与指定值不完全匹配,则此 cmdlet 获取对象。 此操作区分大小写。
例如: Get-Process | Where-Object -Value "svchost" -CNotIn -Property ProcessName
NotIn 和 CNotIn 运算符类似于 NotContains 和 CNotContains,只不过属性和值位置是相反的。 例如,以下语句为 true。
"abc", "def" -CNotContains "Abc"
"abc" -CNotIn "Abc", "def"
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-CNotLike
指示如果属性值与包含通配符的值不匹配,则此 cmdlet 获取对象。 此操作区分大小写。
例如: Get-Process | Where-Object ProcessName -CNotLike "*host"
已在 Windows PowerShell 3.0 中引入了此参数。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-CNotMatch
指示如果属性值与指定的正则表达式不匹配,则此 cmdlet 获取对象。 此操作区分大小写。 当输入是单个对象时,匹配的值将保存在自动变量中 $Matches
。
例如: Get-Process | Where-Object ProcessName -CNotMatch "Shell"
已在 Windows PowerShell 3.0 中引入了此参数。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Contains
指示如果对象的属性值中的任何项与指定值完全匹配,则此 cmdlet 获取对象。
例如: Get-Process | Where-Object ProcessName -Contains "Svchost"
如果输入是单个对象,PowerShell 会将其转换为一个对象的集合。
已在 Windows PowerShell 3.0 中引入了此参数。
Type: | SwitchParameter |
Aliases: | IContains |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-EQ
指示如果属性值与指定值相同,则此 cmdlet 获取对象。
已在 Windows PowerShell 3.0 中引入了此参数。
Type: | SwitchParameter |
Aliases: | IEQ |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-FilterScript
指定用于筛选对象的脚本块。 将脚本块括在大括号 ({}
) 中。
参数名称 FilterScript 是可选的。
Type: | ScriptBlock |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-GE
指示如果属性值大于或等于指定值,则此 cmdlet 获取对象。
已在 Windows PowerShell 3.0 中引入了此参数。
Type: | SwitchParameter |
Aliases: | IGE |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-GT
指示如果属性值大于指定值,则此 cmdlet 获取对象。
已在 Windows PowerShell 3.0 中引入了此参数。
Type: | SwitchParameter |
Aliases: | IGT |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-In
指示如果属性值与任何指定值匹配,则此 cmdlet 获取对象。 例如:
Get-Process | Where-Object -Property ProcessName -in -Value "Svchost", "TaskHost", "WsmProvHost"
如果输入是单个对象,PowerShell 会将其转换为一个对象的集合。
如果对象的属性值是数组,则 PowerShell 使用引用相等性来确定匹配项。 Where-Object
仅当 Property 参数的值和 Value 的任何值都是对象的同一实例时,才返回 对象。
已在 Windows PowerShell 3.0 中引入了此参数。
Type: | SwitchParameter |
Aliases: | IIn |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-InputObject
指定要筛选的对象。 还可以通过管道将对象传递给 Where-Object
。
将 InputObject 参数与 一起使用Where-Object
时,cmdlet 会将 InputObject 视为单个对象,而不是将命令结果Where-Object
传递给 。 即使值是命令结果的集合(例如 -InputObject (Get-Process)
),也是如此。
由于 InputObject 无法从数组或对象集合返回单个属性,因此,如果为 Where-Object
定义属性中具有特定值的对象筛选对象的集合,请在 Where-Object
管道中使用,如本主题中的示例所示。
Type: | PSObject |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Is
指示如果属性值是指定 .NET 类型的实例,则此 cmdlet 获取对象。 将类型名称括在方括号中。
例如: Get-Process | Where-Object StartTime -Is [DateTime]
已在 Windows PowerShell 3.0 中引入了此参数。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-IsNot
指示如果属性值不是指定 .NET 类型的实例,则此 cmdlet 获取对象。
例如: Get-Process | where StartTime -IsNot [DateTime]
已在 Windows PowerShell 3.0 中引入了此参数。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-LE
指示如果属性值小于或等于指定值,则此 cmdlet 获取对象。
已在 Windows PowerShell 3.0 中引入了此参数。
Type: | SwitchParameter |
Aliases: | ILE |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Like
指示如果属性值与包含通配符 *
() 的值匹配,则此 cmdlet 获取对象。
例如: Get-Process | Where-Object ProcessName -Like "*host"
已在 Windows PowerShell 3.0 中引入了此参数。
Type: | SwitchParameter |
Aliases: | ILike |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-LT
指示如果属性值小于指定值,则此 cmdlet 获取对象。
已在 Windows PowerShell 3.0 中引入了此参数。
Type: | SwitchParameter |
Aliases: | ILT |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Match
指示如果属性值与指定的正则表达式匹配,则此 cmdlet 获取对象。 当输入是单个对象时,匹配的值将保存在自动变量中 $Matches
。
例如: Get-Process | Where-Object ProcessName -Match "shell"
已在 Windows PowerShell 3.0 中引入了此参数。
Type: | SwitchParameter |
Aliases: | IMatch |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-NE
指示如果属性值不同于指定值,则此 cmdlet 获取对象。
已在 Windows PowerShell 3.0 中引入了此参数。
Type: | SwitchParameter |
Aliases: | INE |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Not
指示如果 属性不存在或值为 $null
或 $false
,则此 cmdlet 获取对象。
例如: Get-Service | Where-Object -Not "DependentServices"
此参数是在 Windows PowerShell 6.1 中引入的。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-NotContains
指示如果属性值中的项都与指定值完全匹配,则此 cmdlet 获取对象。
例如: Get-Process | Where-Object ProcessName -NotContains "Svchost"
NotContains 引用值的集合,如果集合不包含与指定值完全匹配的任何项,则为 true。 如果输入是单个对象,PowerShell 会将其转换为一个对象的集合。
已在 Windows PowerShell 3.0 中引入了此参数。
Type: | SwitchParameter |
Aliases: | INotContains |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-NotIn
指示如果属性值不与任何指定值完全匹配,则此 cmdlet 获取对象。
例如: Get-Process | Where-Object -Value "svchost" -NotIn -Property ProcessName
如果 Value 的值为单个对象,则 PowerShell 会将其转换为一个对象的集合。
如果对象的属性值是数组,则 PowerShell 使用引用相等性来确定匹配项。 Where-Object
仅当 Property 的值和 Value 的任何值都不是对象的同一实例时,才返回 对象。
已在 Windows PowerShell 3.0 中引入了此参数。
Type: | SwitchParameter |
Aliases: | INotIn |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-NotLike
指示如果属性值与包含通配符的值不匹配,则此 cmdlet 获取对象 (*
) 。
例如: Get-Process | Where-Object ProcessName -NotLike "*host"
已在 Windows PowerShell 3.0 中引入了此参数。
Type: | SwitchParameter |
Aliases: | INotLike |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-NotMatch
指示当属性值与指定的正则表达式不匹配时,此 cmdlet 获取对象。 当输入是单个对象时,匹配的值将保存在自动变量中 $Matches
。
例如: Get-Process | Where-Object ProcessName -NotMatch "PowerShell"
已在 Windows PowerShell 3.0 中引入了此参数。
Type: | SwitchParameter |
Aliases: | INotMatch |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Property
指定输入对象的属性的名称。 属性必须是实例属性,而不是静态属性。 这是一个位置参数,因此名称 属性是可选的。
已在 Windows PowerShell 3.0 中引入了此参数。
Type: | String |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Value
指定属性值。 参数名称 Value 是可选的。 与以下比较参数一起使用时,此参数接受通配符:
- CLike
- CNotLike
- 喜欢
- NotLike
已在 Windows PowerShell 3.0 中引入了此参数。
Type: | PSObject |
Position: | 1 |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | True |
输入
你可以通过管道将任何对象传递给此 cmdlet。
输出
此 cmdlet 返回输入对象集中的选定项。
备注
PowerShell 包含以下别名 Where-Object
:
- 所有平台:
?
where
从 Windows PowerShell 4.0 开始, Where
ForEach
添加了用于集合的方法。
可在此处阅读有关这些方法 的详细信息about_arrays