Bird
Raised Fist0
PowerShellscripting~5 mins

Switch statement in PowerShell - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is a switch statement in PowerShell?
A switch statement lets you test a value against multiple conditions. It runs the code block for the first matching case. It's like choosing a path based on different options.
Click to reveal answer
beginner
How do you write a basic switch statement in PowerShell?
Use the keyword switch followed by parentheses with the value to check. Inside curly braces, list cases with their code blocks. Example:
switch ($value) {
  'a' { Write-Output 'Got a' }
  'b' { Write-Output 'Got b' }
}
Click to reveal answer
beginner
What happens if no case matches in a PowerShell switch statement?
If no case matches, the switch statement does nothing and moves on. You can add a default case to handle unmatched values.
Click to reveal answer
intermediate
Can a PowerShell switch statement handle multiple matches?
Yes! PowerShell switch can process multiple matches if you use the -Regex or -File options. By default, it stops after the first match.
Click to reveal answer
beginner
How do you add a default case in a PowerShell switch statement?
Use the keyword default inside the switch block. It runs if no other case matches. Example:
switch ($value) {
  'a' { Write-Output 'Got a' }
  default { Write-Output 'No match found' }
}
Click to reveal answer
What keyword starts a switch statement in PowerShell?
Aswitch
Bcase
Cselect
Dif
What happens if no case matches and there is no default in a PowerShell switch?
AIt throws an error
BIt runs the last case
CIt repeats the switch
DIt does nothing and continues
How do you write a default case in a PowerShell switch?
Aelse { }
Bdefault { }
Ccase default { }
Dotherwise { }
Which option allows a PowerShell switch to match multiple cases?
A-All
B-Multiple
C-Regex
D-MatchAll
What is the correct syntax to check a variable $color for 'red' or 'blue' using switch?
Aswitch ($color) { 'red' { } 'blue' { } }
Bswitch $color { 'red' { } 'blue' { } }
Cswitch ($color) then { 'red' { } 'blue' { } }
Dswitch { $color == 'red' { } $color == 'blue' { } }
Explain how a switch statement works in PowerShell and when you might use it.
Think about choosing actions based on different options.
You got /4 concepts.
    Write a simple PowerShell switch statement that prints 'Yes' if input is 'y', 'No' if 'n', and 'Unknown' otherwise.
    Use default to catch all other inputs.
    You got /4 concepts.

      Practice

      (1/5)
      1. What is the main purpose of a switch statement in PowerShell?
      easy
      A. To create a variable
      B. To repeat a block of code multiple times
      C. To define a function
      D. To choose one action from many based on a value

      Solution

      1. Step 1: Understand the role of switch

        A switch statement checks a value and picks the matching case to run.
      2. Step 2: Compare with other options

        Loops repeat code, functions define reusable code, variables store data. Only switch picks actions based on value.
      3. Final Answer:

        To choose one action from many based on a value -> Option D
      4. Quick Check:

        Switch selects action by value = A [OK]
      Hint: Switch picks code by matching value, like a menu choice [OK]
      Common Mistakes:
      • Confusing switch with loops
      • Thinking switch defines variables
      • Mixing switch with function definition
      2. Which of the following is the correct syntax to start a switch statement in PowerShell?
      easy
      A. switch ($variable) { ... }
      B. switch $variable { ... }
      C. switch { $variable } ...
      D. switch ($variable) then { ... }

      Solution

      1. Step 1: Recall switch syntax

        PowerShell requires parentheses around the value: switch ($variable) { ... }
      2. Step 2: Check other options

        switch $variable { ... } misses parentheses, C has wrong braces, D uses invalid 'then'.
      3. Final Answer:

        switch ($variable) { ... } -> Option A
      4. Quick Check:

        Parentheses around variable = B [OK]
      Hint: Always put the variable inside parentheses after switch [OK]
      Common Mistakes:
      • Omitting parentheses around the variable
      • Using 'then' keyword incorrectly
      • Wrong brace placement
      3. What will be the output of this PowerShell code?
      switch (3) {
        1 { 'One' }
        2 { 'Two' }
        3 { 'Three' }
        default { 'Other' }
      }
      medium
      A. Three
      B. Two
      C. Other
      D. One

      Solution

      1. Step 1: Identify the switch value

        The switch is checking the value 3.
      2. Step 2: Match the case

        Case 3 matches and outputs 'Three'. Default is ignored because a match was found.
      3. Final Answer:

        Three -> Option A
      4. Quick Check:

        Value 3 matches case 3 = D [OK]
      Hint: Match value to case; default runs only if no match [OK]
      Common Mistakes:
      • Choosing default even when a case matches
      • Confusing case numbers
      • Ignoring case order
      4. Identify the error in this PowerShell switch statement:
      switch $color {
        'red' { 'Stop' }
        'green' { 'Go' }
        default { 'Wait' }
      }
      medium
      A. Missing quotes around case values
      B. Missing parentheses around $color
      C. Missing default case
      D. Incorrect use of curly braces

      Solution

      1. Step 1: Check switch syntax

        PowerShell requires parentheses around the variable in switch: switch ($color) { ... }
      2. Step 2: Verify other parts

        Quotes around case values and default case are correct; curly braces are used properly.
      3. Final Answer:

        Missing parentheses around $color -> Option B
      4. Quick Check:

        Parentheses required around variable = A [OK]
      Hint: Always wrap the switch variable in parentheses [OK]
      Common Mistakes:
      • Omitting parentheses around the switch variable
      • Thinking quotes are optional for strings
      • Confusing default case necessity
      5. You want to write a switch statement that prints 'Weekend' for Saturday and Sunday, 'Weekday' for Monday to Friday, and 'Invalid' for any other input. Which code snippet correctly implements this?
      hard
      A. switch ($day) { 'Saturday' { 'Weekend' } 'Sunday' { 'Weekend' } 'Monday','Tuesday','Wednesday','Thursday','Friday' { 'Weekday' } default { 'Invalid' } }
      B. switch ($day) { 'Saturday' -or 'Sunday' { 'Weekend' } 'Monday' -or 'Tuesday' -or 'Wednesday' -or 'Thursday' -or 'Friday' { 'Weekday' } default { 'Invalid' } }
      C. switch ($day) { 'Saturday' { 'Weekend' } 'Sunday' { 'Weekend' } 'Monday' { 'Weekday' } 'Tuesday' { 'Weekday' } 'Wednesday' { 'Weekday' } 'Thursday' { 'Weekday' } 'Friday' { 'Weekday' } default { 'Invalid' } }
      D. switch ($day) { 'Saturday','Sunday' { 'Weekend' } 'Monday','Tuesday','Wednesday','Thursday','Friday' { 'Weekday' } default { 'Invalid' } }

      Solution

      1. Step 1: Recall PowerShell switch case syntax

        Each case must have exactly one pattern followed by { action }. Multiple values require separate case statements.
      2. Step 2: Check each option

        A lists a separate case for each day: correct syntax and produces expected output.
        B uses -or which evaluates to $true (boolean) and won't match string days.
        C and D use commas to attempt grouping, but this causes syntax errors (unexpected token ',').
      3. Final Answer:

        switch ($day) { 'Saturday' { 'Weekend' } 'Sunday' { 'Weekend' } 'Monday' { 'Weekday' } 'Tuesday' { 'Weekday' } 'Wednesday' { 'Weekday' } 'Thursday' { 'Weekday' } 'Friday' { 'Weekday' } default { 'Invalid' } } -> Option C
      4. Quick Check:

        Separate cases per value, no commas in patterns = A [OK]
      Hint: Use separate case statements for multiple matching values [OK]
      Common Mistakes:
      • Using '-or' inside switch case labels
      • Trying to group values with commas (syntax error)
      • Incorrectly assuming comma grouping works like other languages
      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