Bird
Raised Fist0
PowerShellscripting~15 mins

Why operators perform comparisons and logic in PowerShell - See It in Action

Choose your learning style10 modes available
Why operators perform comparisons and logic
📖 Scenario: You are working with a list of temperatures recorded during a day. You want to find out which temperatures are above a certain threshold and also check if the temperature is exactly zero. This helps you understand how comparison and logical operators work in PowerShell.
🎯 Goal: Build a simple PowerShell script that uses comparison and logical operators to filter temperatures and check conditions.
📋 What You'll Learn
Create a list of temperatures as integers
Create a threshold variable for comparison
Use comparison operators to find temperatures above the threshold
Use logical operators to check if any temperature is zero
Print the filtered temperatures and the zero check result
💡 Why This Matters
🌍 Real World
Filtering and checking data values is common in scripts that monitor sensors, logs, or user inputs.
💼 Career
Understanding comparison and logical operators is essential for writing scripts that make decisions based on data.
Progress0 / 4 steps
1
Create the temperature list
Create a variable called temperatures and assign it the list of integers 5, -3, 0, 12, 7.
PowerShell
Hint

Use a comma-separated list of numbers assigned to $temperatures.

2
Set the threshold value
Create a variable called threshold and set it to 4.
PowerShell
Hint

Assign the number 4 to the variable $threshold.

3
Filter temperatures above threshold and check for zero
Create a variable called aboveThreshold that contains all temperatures from $temperatures greater than $threshold using the comparison operator -gt. Then create a variable called hasZero that is $true if any temperature equals zero using the comparison operator -eq inside a loop.
PowerShell
Hint

Use Where-Object with -gt to filter. Use a foreach loop and -eq to check zero.

4
Print the results
Print the variable aboveThreshold and then print the text Zero found: $hasZero.
PowerShell
Hint

Simply output $aboveThreshold and then use Write-Output to print the zero check.

Practice

(1/5)
1. In PowerShell, which operator is used to check if two values are equal?
easy
A. -gt
B. -ne
C. -eq
D. -lt

Solution

  1. Step 1: Understand comparison operators

    PowerShell uses specific operators to compare values, such as -eq for equality, -ne for not equal, -gt for greater than, and -lt for less than.
  2. Step 2: Identify the equality operator

    The operator -eq checks if two values are equal, returning True if they are the same.
  3. Final Answer:

    -eq -> Option C
  4. Quick Check:

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

Solution

  1. Step 1: Recall PowerShell comparison syntax

    PowerShell uses operators with a dash, like -gt for greater than, not symbols like > or =>.
  2. Step 2: Identify the correct operator for greater than

    The correct operator is -gt, so the syntax is if ($a -gt 10) { }.
  3. Final Answer:

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

    Greater than operator = -gt [OK]
Hint: Use dash before comparison operators in PowerShell [OK]
Common Mistakes:
  • Using > instead of -gt
  • Writing 'gt' without dash
  • Using invalid operator =>
3. What will be the output of this PowerShell code?
$x = 5
$y = 10
if ($x -lt 10 -and $y -gt 5) { 'True' } else { 'False' }
medium
A. False
B. No output
C. SyntaxError
D. True

Solution

  1. Step 1: Evaluate each comparison

    $x -lt 10 means 5 less than 10, which is True. $y -gt 5 means 10 greater than 5, which is also True.
  2. Step 2: Apply logical AND operator

    Both conditions are True, so True -and True equals True, so the if block runs and outputs 'True'.
  3. Final Answer:

    True -> Option D
  4. Quick Check:

    Both conditions True and combined with -and = True [OK]
Hint: Both sides must be true for -and to return True [OK]
Common Mistakes:
  • Thinking -and returns True if one side is true
  • Confusing -and with -or
  • Ignoring operator precedence
4. Identify the error in this PowerShell snippet:
if ($a -eq 5 -or $b = 10) { 'Yes' } else { 'No' }
medium
A. Using = instead of -eq for comparison
B. Missing parentheses around conditions
C. Using -or instead of -and
D. No error, code is correct

Solution

  1. Step 1: Check comparison operators

    PowerShell uses -eq for equality comparison, not = which is an assignment operator.
  2. Step 2: Identify the error in $b = 10

    $b = 10 assigns 10 to $b, it does not compare. This causes a logic error in the if condition.
  3. Final Answer:

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

    Comparison needs -eq, not = [OK]
Hint: Use -eq for comparison, = is assignment [OK]
Common Mistakes:
  • Using = instead of -eq in conditions
  • Assuming -or needs parentheses
  • Confusing logical operators
5. You want to check if a number $n is between 10 and 20 inclusive in PowerShell. Which expression correctly uses comparison and logical operators?
hard
A. if ($n -ge 10 -and $n -le 20) { 'In range' }
B. if ($n -gt 10 -or $n -lt 20) { 'In range' }
C. if ($n -ge 10 -or $n -le 20) { 'In range' }
D. if ($n -gt 10 -and $n -lt 20) { 'In range' }

Solution

  1. Step 1: Understand inclusive range check

    To check if $n is between 10 and 20 inclusive, $n must be greater than or equal to 10 and less than or equal to 20.
  2. Step 2: Match operators to conditions

    -ge means greater or equal, -le means less or equal, and both conditions must be true, so use -and.
  3. Final Answer:

    if ($n -ge 10 -and $n -le 20) { 'In range' } -> Option A
  4. Quick Check:

    Inclusive range uses -ge and -le with -and [OK]
Hint: Use -ge and -le with -and for inclusive range checks [OK]
Common Mistakes:
  • Using -or instead of -and
  • Using strict > and < instead of >= and <=
  • Mixing up logical operators
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