powershellscripts.com

Tutorials  PowerShell Cmdlet Help for Where-Object



NAME
Where-Object

SYNOPSIS
Creates a filter that controls which objects will be passed along a command pipeline.

SYNTAX
Where-Object [-FilterScript] [-InputObject ] []


DESCRIPTION
The Where-Object cmdlet selects objects from the set of objects that are passed to it. It uses a script block as a
filter and evaluates the script block for each object. If the result of the evaluation is True, the object is retur
ned. If the result of the evaluation is not True, the object is ignored.


PARAMETERS
-FilterScript
Specifies the script block that is used to filter the objects. Enclose the script block in braces ( {} ).

Required? true
Position? 1
Default value
Accept pipeline input? false
Accept wildcard characters? false

-InputObject
Specifies the objects to be filtered. You can also pipe the objects to Where-Object.

Required? false
Position? named
Default value
Accept pipeline input? true (ByValue)
Accept wildcard characters? false


This cmdlet supports the common parameters: Verbose, Debug,
ErrorAction, ErrorVariable, WarningAction, WarningVariable,
OutBuffer and OutVariable. For more information, type,
"get-help about_commonparameters".

INPUTS
System.Management.Automation.PSObject
You can pipe the objects to be filtered to Where-Object.


OUTPUTS




NOTES





-------------------------- EXAMPLE 1 --------------------------

C:\PS>get-service | where-object {$_.Status -eq "Stopped"}


Description
-----------
This command gets a list of all services that are currently stopped. The "$" symbol represents each object that is
passed to the Where-Object cmdlet.





-------------------------- EXAMPLE 2 --------------------------

C:\PS>get-process | where-object {$_.workingset -gt 25000*1024}


Description
-----------
This command lists processes that have a working set greater than 25,000 kilobytes (KB). Because the value of the W
orkingSet property is stored in bytes, the value of 25,000 is multiplied by 1,024.





-------------------------- EXAMPLE 3 --------------------------

C:\PS>get-process | where-object { $_.ProcessName -match "^p.*" }


Description
-----------
This command gets the processes with a ProcessName property that begins with the letter "p". The match operator ena
bles you to use regular expressions within a Where clause.





-------------------------- EXAMPLE 4 --------------------------

C:\PS>get-process -name svchost | where-object {$True}


Description
-----------
This command lists all of the processes named "svchost".

The Where-Object cmdlet evaluates the script block, which typically includes a reference to the object currently in
the pipeline ($_), and casts the results to a Boolean type: True or False. If the result is True, the object is r
eturned. Otherwise, it is discarded.

In this case, the script block just returns True, so all the objects are returned.






RELATED LINKS
Online version: http://go.microsoft.com/fwlink/?LinkID=113423