The PowerShell Pipeline Explained
The pipe character | sends the output of one command into the next. In PowerShell the thing being passed is an object with properties, not just a line of text, and that's what makes it useful.
Objects, not text
Get-Process returns process objects. Each has properties like Name, Id, and CPU. The next command can use those properties directly, with no cutting up of text.
Get-Process | Select-Object Name, Id, CPU
Chaining
Each step does one job. Read left to right: get, filter, sort, trim.
Get-Service | Where-Object Status -eq Running | Sort-Object DisplayName | Select-Object -First 10
See what's inside
Get-Member lists the properties and methods of whatever comes down the pipe. It's the fastest way to find out what you can filter on.
Get-Process | Get-Member
Practice it for real. shellreps has hands-on PowerShell labs that run in your browser, no install. The first one is free, no signup. The terminal mimics PowerShell syntax so the habits carry over, though it isn't Microsoft's PowerShell itself.