Creates a filter that controls which objects will be passed along a command pipeline. (Where-Object)



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

Where-Object [-FilterScript] <scriptblock> [-InputObject <psobject>] [<CommonParameters>]

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 returned. If the result of the evaluation is not True, the object is ignored.

-FilterScript <scriptblock>
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 <psobject>
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".

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




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.


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 WorkingSet property is stored in bytes, the value of 25,000 is multiplied by 1,024.


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 enables you to use regular expressions within a Where clause.


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 returned. Otherwise, it is discarded.

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

Online version:

C:\Windows>powershell get-help Set-PSDebug -full

ColorConsole [Version 1.7.1000] PowerShell 2.0-Export
Microsoft Windows [Version 6.1.7600]
Copyright (c) 2009 Microsoft Corporation.

OS: Windows-7 / Windows-Vista // Windows Server 2008
»»»» ColorConsole


... Home  
... Impressum
... ColorConsole

... CMD
... Netsh-XP
... Netsh-7
... Netsh-Vista
... Powershell

Download the Windows 7 Starter, Home (Basic Premium), Professional und Ultimate!

Use Internet Explorer 10 or 11 as the default browser in Windows 8, 8.1 and 10 (define)!  / Q-Dir 3.31 and Windows 98?  / How can i sign up, register, log in on  / Problem, PDF preview does not work for me with Q-Dir 4.15 x64?  / Windows 7 Service Pack 1 downloaden, wo finde ich die Adresse?  / Was sind Variablen?  / Wo kann ich in Windows-10 Downloaden?  / Kann ich die Desktop Icons, bzw. das Symbollayout auch bei Windows-7 speichern?  / Quick dock and compare the windows under Windows 8.1 / 10!  / Habe ein Problem mit der Pinnwand, meine Freunde habe ich blockiert, wie kann ich diese wieder für meine Pinnwand freischalten?  / Enable screen saver password in Windows 10, how to turn off?  / Freigegebene Ordner und Festplatten in Windows-7 ändern, hinzufügen, entfernen!  /