Bird
Raised Fist0
PowerShellscripting~10 mins

Pipeline concept (|) in PowerShell - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to list all files and then show only their names.

PowerShell
Get-ChildItem [1] Select-Object Name
Drag options to blanks, or click blank then click option'
A-Filter
B|
C-Path
D-Name
Attempts:
3 left
💡 Hint
Common Mistakes
Using a parameter like -Filter instead of the pipeline symbol.
Using a dash '-' instead of the pipe '|'.
2fill in blank
medium

Complete the code to get all running processes and sort them by CPU usage.

PowerShell
Get-Process [1] Sort-Object CPU -Descending
Drag options to blanks, or click blank then click option'
A-ProcessName
B-Name
C-CPU
D|
Attempts:
3 left
💡 Hint
Common Mistakes
Trying to use a parameter instead of the pipeline.
Using a comma or semicolon instead of '|'.
3fill in blank
hard

Fix the error in the code to filter services that are running.

PowerShell
Get-Service [1] Where-Object {$_.Status -eq 'Running'}
Drag options to blanks, or click blank then click option'
A|
B-Filter
C-Name
D-Status
Attempts:
3 left
💡 Hint
Common Mistakes
Using a parameter like -Filter instead of the pipeline.
Missing the pipeline symbol causes a syntax error.
4fill in blank
hard

Fill both blanks to get all services, filter running ones, and select their names.

PowerShell
Get-Service [1] Where-Object {$_.Status -eq 'Running'} [2] Select-Object Name
Drag options to blanks, or click blank then click option'
A|
B-Name
D-Status
Attempts:
3 left
💡 Hint
Common Mistakes
Using parameters instead of pipelines between commands.
Missing one or both pipeline symbols.
5fill in blank
hard

Fill all three blanks to get processes, filter by CPU > 100, and select their names.

PowerShell
Get-Process [1] Where-Object {$_.CPU [2] 100} [3] Select-Object Name
Drag options to blanks, or click blank then click option'
A|
B-gt
D-CPU
Attempts:
3 left
💡 Hint
Common Mistakes
Using parameters instead of pipelines.
Using '=' instead of '-gt' for comparison.
Missing one of the pipeline symbols.

Practice

(1/5)
1. What does the pipeline operator | do in PowerShell?
easy
A. It runs two commands in parallel.
B. It comments out the rest of the line.
C. It creates a new variable.
D. It passes the output of one command as input to the next command.

Solution

  1. Step 1: Understand the pipeline operator

    The pipeline | connects commands so the output of the first command flows as input to the next.
  2. Step 2: Identify the correct description

    Only It passes the output of one command as input to the next command. correctly describes this behavior; others describe unrelated actions.
  3. Final Answer:

    It passes the output of one command as input to the next command. -> Option D
  4. Quick Check:

    Pipeline = Pass output to next command [OK]
Hint: Pipeline passes output to next command in sequence [OK]
Common Mistakes:
  • Thinking pipeline runs commands in parallel
  • Confusing pipeline with comments
  • Assuming pipeline creates variables
2. Which of the following is the correct syntax to list all processes and then sort them by CPU usage using the pipeline?
easy
A. Get-Process Sort CPU
B. Get-Process | Sort-Object CPU
C. Get-Process | Sort-Object -CPU
D. Get-Process Sort-Object CPU

Solution

  1. Step 1: Identify correct pipeline usage

    The pipeline operator | must connect commands properly; Get-Process | Sort-Object CPU uses it correctly.
  2. Step 2: Check Sort-Object parameters

    Sorting by property CPU is done with Sort-Object CPU, which Get-Process | Sort-Object CPU uses correctly.
  3. Final Answer:

    Get-Process | Sort-Object CPU -> Option B
  4. Quick Check:

    Correct pipeline and sorting syntax = Get-Process | Sort-Object CPU [OK]
Hint: Use | between commands and correct parameter names [OK]
Common Mistakes:
  • Omitting the pipeline operator
  • Using wrong parameter syntax like -CPU
  • Using non-existent commands like Sort CPU
3. What is the output of this PowerShell command?
Get-Process | Where-Object { $_.CPU -gt 100 } | Select-Object -First 1 -Property ProcessName
medium
A. The name of the first process with CPU usage greater than 100
B. A list of all processes with CPU usage less than 100
C. An error because of incorrect pipeline usage
D. The total CPU usage of all processes

Solution

  1. Step 1: Analyze the pipeline commands

    Get-Process gets all processes, Where-Object { $_.CPU -gt 100 } filters those with CPU > 100.
  2. Step 2: Understand the selection

    Select-Object -First 1 -Property ProcessName picks the first such process and shows its name.
  3. Final Answer:

    The name of the first process with CPU usage greater than 100 -> Option A
  4. Quick Check:

    Pipeline filters then selects first matching process name [OK]
Hint: Filter with Where-Object, then select first with Select-Object [OK]
Common Mistakes:
  • Confusing CPU greater than with less than
  • Expecting a list instead of one item
  • Thinking pipeline causes errors here
4. Identify the error in this pipeline command:
Get-Service | Where-Object Status -eq 'Running' | Select Name
medium
A. Select should be Select-Object, not Select.
B. Get-Service cannot be piped to Where-Object.
C. The comparison operator should be inside the script block {} in Where-Object.
D. The pipeline operator is missing.

Solution

  1. Step 1: Check Where-Object syntax

    The condition must be inside a script block: { $_.Status -eq 'Running' }. The given command misses the braces.
  2. Step 2: Verify other parts

    Select is an alias for Select-Object, so it's valid. Get-Service can be piped. Pipeline operator is present.
  3. Final Answer:

    The comparison operator should be inside the script block {} in Where-Object. -> Option C
  4. Quick Check:

    Where-Object needs script block for conditions [OK]
Hint: Put conditions inside {} for Where-Object [OK]
Common Mistakes:
  • Omitting braces {} in Where-Object
  • Thinking Select is invalid
  • Assuming pipeline operator is missing
5. You want to get the top 3 services sorted by their status alphabetically, but only those that are running. Which pipeline command achieves this?
hard
A. Get-Service | Where-Object { $_.Status -eq 'Running' } | Sort-Object Status | Select-Object -First 3
B. Get-Service | Sort-Object Status | Select-Object -First 3 | Where-Object { $_.Status -eq 'Running' }
C. Get-Service | Select-Object -First 3 | Where-Object { $_.Status -eq 'Running' } | Sort-Object Status
D. Get-Service | Where-Object Status -eq 'Running' | Select-Object -First 3 | Sort-Object Status

Solution

  1. Step 1: Filter running services first

    Use Where-Object { $_.Status -eq 'Running' } to keep only running services.
  2. Step 2: Sort filtered services by Status

    Then sort them alphabetically with Sort-Object Status.
  3. Step 3: Select the first 3 services

    Finally, pick the top 3 with Select-Object -First 3.
  4. Final Answer:

    Get-Service | Where-Object { $_.Status -eq 'Running' } | Sort-Object Status | Select-Object -First 3 -> Option A
  5. Quick Check:

    Filter, then sort, then select top 3 [OK]
Hint: Filter first, then sort, then select top items [OK]
Common Mistakes:
  • Sorting before filtering changes results
  • Selecting before filtering loses data
  • Missing braces in Where-Object
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard