Bird
Raised Fist0
PowerShellscripting~10 mins

Comparison operators (-eq, -ne, -gt, -lt) 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 check if variable $a equals 10.

PowerShell
if ($a [1] 10) { Write-Output 'Equal' }
Drag options to blanks, or click blank then click option'
A-gt
B-ne
C-eq
D-lt
Attempts:
3 left
💡 Hint
Common Mistakes
Using -ne instead of -eq causes the condition to be true when values are not equal.
2fill in blank
medium

Complete the code to check if $b is not equal to 5.

PowerShell
if ($b [1] 5) { Write-Output 'Not equal' }
Drag options to blanks, or click blank then click option'
A-eq
B-lt
C-gt
D-ne
Attempts:
3 left
💡 Hint
Common Mistakes
Using -eq instead of -ne will give the opposite result.
3fill in blank
hard

Fix the error in the code to check if $num is greater than 100.

PowerShell
if ($num [1] 100) { Write-Output 'Greater' }
Drag options to blanks, or click blank then click option'
A-gt
B-ne
C-eq
D-lt
Attempts:
3 left
💡 Hint
Common Mistakes
Using -lt will check for less than, which is the opposite.
4fill in blank
hard

Fill both blanks to check if $x is less than 50 and not equal to 20.

PowerShell
if (($x [1] 50) -and ($x [2] 20)) { Write-Output 'Valid' }
Drag options to blanks, or click blank then click option'
A-lt
B-eq
C-ne
D-gt
Attempts:
3 left
💡 Hint
Common Mistakes
Mixing up -eq and -ne operators.
5fill in blank
hard

Fill all three blanks to create a dictionary with keys as $word uppercase, values as $count, filtering counts greater than 10.

PowerShell
$result = @{ [1] = [2] } | Where-Object { $_.Value [3] 10 }
Drag options to blanks, or click blank then click option'
A$word.ToUpper()
B$count
C-gt
D-lt
Attempts:
3 left
💡 Hint
Common Mistakes
Using -lt instead of -gt will filter wrong values.

Practice

(1/5)
1. Which PowerShell operator checks if two values are equal?
easy
A. -eq
B. -ne
C. -gt
D. -lt

Solution

  1. Step 1: Understand the meaning of each operator

    -eq means equals, -ne means not equals, -gt means greater than, -lt means less than.
  2. Step 2: Identify the operator for equality

    The operator that checks if two values are equal is -eq.
  3. Final Answer:

    -eq -> Option A
  4. Quick Check:

    Equals operator = -eq [OK]
Hint: Remember: eq means equal, ne means not equal [OK]
Common Mistakes:
  • Confusing -eq with -ne
  • Mixing -gt and -lt
  • Using == instead of -eq
2. Which of the following is the correct syntax to check if variable $a is greater than 10 in PowerShell?
easy
A. if ($a -gt 10) { }
B. if ($a > 10) { }
C. if ($a -lt 10) { }
D. if ($a -eq 10) { }

Solution

  1. Step 1: Recall PowerShell comparison syntax

    PowerShell uses -gt for greater than, not > like some other languages.
  2. Step 2: Match the correct operator

    The correct syntax to check if $a is greater than 10 is if ($a -gt 10) { }.
  3. Final Answer:

    if ($a -gt 10) { } -> Option A
  4. Quick Check:

    Greater than operator = -gt [OK]
Hint: Use -gt for greater than, not > in PowerShell [OK]
Common Mistakes:
  • Using > instead of -gt
  • Confusing -lt with -gt
  • Missing parentheses in if statement
3. What will be the output of this PowerShell code?
$x = 5
if ($x -ne 5) { 'No' } else { 'Yes' }
medium
A. 5
B. No
C. Yes
D. False

Solution

  1. Step 1: Evaluate the condition $x -ne 5

    $x is 5, so $x -ne 5 means 5 not equal to 5, which is False.
  2. Step 2: Determine which block runs

    Since condition is False, the else block runs, outputting 'Yes'.
  3. Final Answer:

    Yes -> Option C
  4. Quick Check:

    5 not equal 5 is False, so else runs [OK]
Hint: -ne means not equal; false triggers else block [OK]
Common Mistakes:
  • Thinking -ne means equal
  • Confusing output with variable value
  • Ignoring else block
4. Identify the error in this PowerShell snippet:
$num = 10
if ($num -gt 5) { 'Greater' } elseif ($num -lt 5) { 'Smaller' } else { 'Equal' }
medium
A. Missing closing brace for if block
B. No error, code runs correctly
C. Incorrect use of elseif instead of else if
D. Using -gt instead of > operator

Solution

  1. Step 1: Check syntax of if-elseif-else

    PowerShell supports elseif as one word; braces are balanced.
  2. Step 2: Verify operators and structure

    -gt and -lt are correct operators; no syntax errors present.
  3. Final Answer:

    No error, code runs correctly -> Option B
  4. Quick Check:

    elseif is valid in PowerShell [OK]
Hint: PowerShell uses elseif as one word, not else if [OK]
Common Mistakes:
  • Thinking elseif is invalid
  • Expecting > instead of -gt
  • Missing braces confusion
5. You want to write a PowerShell script that prints 'Valid' only if a variable $score is greater than or equal to 70. Which code snippet correctly uses comparison operators to achieve this?
hard
A. if ($score -gt 70) { 'Valid' } else { 'Invalid' }
B. if ($score -lt 70) { 'Valid' } else { 'Invalid' }
C. if ($score -eq 70) { 'Valid' } else { 'Invalid' }
D. if ($score -ge 70) { 'Valid' } else { 'Invalid' }

Solution

  1. Step 1: Understand the requirement

    We want to check if $score is greater than or equal to 70.
  2. Step 2: Identify the correct operator

    -ge means greater than or equal to, which matches the requirement.
  3. Final Answer:

    if ($score -ge 70) { 'Valid' } else { 'Invalid' } -> Option D
  4. Quick Check:

    Greater or equal operator = -ge [OK]
Hint: Use -ge for greater or equal comparisons [OK]
Common Mistakes:
  • Using -gt excludes 70
  • Using -eq only matches exactly 70
  • Using -lt reverses logic
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