Bird
Raised Fist0
PowerShellscripting~10 mins

Why PowerShell exists - Test Your Understanding

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

Complete the code to display the PowerShell version.

PowerShell
Write-Output $PSVersionTable.PSVersion[1]
Drag options to blanks, or click blank then click option'
A.Minor
B.Revision
C.Build
D.Major
Attempts:
3 left
💡 Hint
Common Mistakes
Using .Minor or .Build instead of .Major
Forgetting the dot before the property name
2fill in blank
medium

Complete the code to get the list of running processes in PowerShell.

PowerShell
Get-[1]
Drag options to blanks, or click blank then click option'
AProcess
BServices
CJobs
DEvents
Attempts:
3 left
💡 Hint
Common Mistakes
Using Get-Services instead of Get-Process
Confusing Jobs or Events with processes
3fill in blank
hard

Fix the error in the code to list all files in a folder.

PowerShell
Get-ChildItem -Path [1]
Drag options to blanks, or click blank then click option'
AC:\Users\Public\
BC:/Users/Public
CC:\Users\Public
DC:/Users/Public/
Attempts:
3 left
💡 Hint
Common Mistakes
Using forward slashes instead of backslashes
Adding a trailing slash which can cause issues
4fill in blank
hard

Fill both blanks to create a hashtable with keys and values.

PowerShell
$info = @{ [1] = 'PowerShell'; [2] = 7 }
Drag options to blanks, or click blank then click option'
AName
BVersion
CPower
DLevel
Attempts:
3 left
💡 Hint
Common Mistakes
Using unrelated keys like Power or Level
Mixing up keys and values
5fill in blank
hard

Fill all three blanks to filter processes with CPU usage greater than 100.

PowerShell
$highCPU = Get-Process | Where-Object { $_.[1] [2] [3] }
Drag options to blanks, or click blank then click option'
ACPU
B>
C100
DName
Attempts:
3 left
💡 Hint
Common Mistakes
Using Name instead of CPU
Using wrong comparison operators
Using strings instead of numbers

Practice

(1/5)
1. Why was PowerShell created?
Choose the main reason.
easy
A. To help automate and simplify managing computers
B. To replace all programming languages
C. To create video games
D. To design websites

Solution

  1. Step 1: Understand PowerShell's purpose

    PowerShell was designed to make managing computers easier by automating tasks.
  2. Step 2: Eliminate unrelated options

    Creating video games, designing websites, or replacing all programming languages are not PowerShell's goals.
  3. Final Answer:

    To help automate and simplify managing computers -> Option A
  4. Quick Check:

    PowerShell exists to automate management = D [OK]
Hint: PowerShell is about automation and management [OK]
Common Mistakes:
  • Thinking PowerShell is for web design
  • Confusing PowerShell with programming languages
  • Assuming it is for game development
2. Which of these is the correct way to run a simple PowerShell command to list files?
Choose the correct syntax.
easy
A. list_files()
B. Get-ChildItem
C. ls -l
D. dir_files

Solution

  1. Step 1: Identify PowerShell cmdlet syntax

    PowerShell uses cmdlets like Get-ChildItem to list files.
  2. Step 2: Compare options

    list_files() and dir_files are not PowerShell commands; ls -l is a Linux command.
  3. Final Answer:

    Get-ChildItem -> Option B
  4. Quick Check:

    PowerShell file list command = A [OK]
Hint: PowerShell commands use Verb-Noun format [OK]
Common Mistakes:
  • Using Linux commands like ls -l in PowerShell
  • Trying to call functions like list_files() without definition
  • Assuming dir_files is a valid command
3. What will this PowerShell command output?
Get-Process | Where-Object { $_.CPU -gt 100 }
medium
A. Processes using more than 100 CPU seconds
B. All processes running on the system
C. Processes with CPU usage less than 100
D. An error because of wrong syntax

Solution

  1. Step 1: Understand the command parts

    Get-Process lists all processes; Where-Object filters those with CPU > 100 seconds.
  2. Step 2: Interpret the filter condition

    The condition $_.CPU -gt 100 means CPU time greater than 100 seconds.
  3. Final Answer:

    Processes using more than 100 CPU seconds -> Option A
  4. Quick Check:

    Filter processes by CPU > 100 = C [OK]
Hint: Where-Object filters output by condition [OK]
Common Mistakes:
  • Thinking it lists all processes without filtering
  • Confusing CPU time with CPU percentage
  • Assuming syntax error due to $_ usage
4. This PowerShell script has an error:
Get-Service | Where-Object { $_.Status = 'Running' }

What is the error?
medium
A. Where-Object cannot filter by Status
B. Missing a closing brace '}'
C. Get-Service is not a valid command
D. Using '=' instead of '-eq' for comparison

Solution

  1. Step 1: Identify the comparison operator

    The script uses '=' which assigns value instead of comparing.
  2. Step 2: Correct operator for comparison in PowerShell

    PowerShell uses '-eq' to test equality, so '=' should be '-eq'.
  3. Final Answer:

    Using '=' instead of '-eq' for comparison -> Option D
  4. Quick Check:

    Comparison needs '-eq' not '=' = A [OK]
Hint: Use '-eq' for equality, not '=' [OK]
Common Mistakes:
  • Using '=' instead of '-eq' for comparisons
  • Thinking Get-Service is invalid
  • Assuming missing brace error
5. You want to automate checking if a service named 'Spooler' is running and start it if not. Which script correctly does this?
hard
A. Start-Service -Name 'Spooler' if (Get-Service 'Spooler').Status = 'Stopped'
B. Get-Service 'Spooler' | Start-Service if Status -eq 'Stopped'
C. if ((Get-Service -Name 'Spooler').Status -ne 'Running') { Start-Service -Name 'Spooler' }
D. if (Get-Service 'Spooler').Status = 'Running' { Stop-Service 'Spooler' }

Solution

  1. Step 1: Check service status correctly

    Use Get-Service with -Name and check if Status is not 'Running' using -ne.
  2. Step 2: Start service if not running

    If service is not running, call Start-Service with the same name.
  3. Final Answer:

    if ((Get-Service -Name 'Spooler').Status -ne 'Running') { Start-Service -Name 'Spooler' } -> Option C
  4. Quick Check:

    Check status then start if stopped = B [OK]
Hint: Use if with -ne and Start-Service [OK]
Common Mistakes:
  • Using '=' instead of '-eq' or '-ne' in conditions
  • Placing Start-Service before condition
  • Stopping service instead of starting
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