Bird
Raised Fist0
PowerShellscripting~15 mins

Switch statement in PowerShell - Mini Project: Build & Apply

Choose your learning style10 modes available
Using Switch Statement in PowerShell
📖 Scenario: You are creating a simple script to categorize fruits based on their color. This will help a fruit seller quickly identify the type of fruit by its color.
🎯 Goal: Build a PowerShell script that uses a switch statement to print the fruit category based on the fruit color.
📋 What You'll Learn
Create a variable with a fruit color
Create a variable with a fruit name
Use a switch statement to check the fruit color
Print the fruit category based on the color
Handle at least three colors: red, yellow, green
💡 Why This Matters
🌍 Real World
Switch statements help automate decisions based on different input values, like categorizing items quickly.
💼 Career
Knowing switch statements is useful for scripting tasks in IT, system administration, and automation roles.
Progress0 / 4 steps
1
Create fruit color and fruit name variables
Create a variable called $fruitColor and set it to "red". Create another variable called $fruitName and set it to "Apple".
PowerShell
Hint

Use = to assign values to variables. Strings must be in double quotes.

2
Add a switch statement for fruit color
Add a switch statement that checks the value of $fruitColor. Prepare cases for "red", "yellow", and "green". For now, just add the switch block without any actions inside.
PowerShell
Hint

Use switch ($fruitColor) { "red" { } "yellow" { } "green" { } } structure.

3
Add actions inside switch cases
Inside the switch statement, add Write-Output commands for each color case. For "red", print "$fruitName is a red fruit". For "yellow", print "$fruitName is a yellow fruit". For "green", print "$fruitName is a green fruit".
PowerShell
Hint

Use Write-Output with double quotes and $fruitName inside the string.

4
Print the fruit category
Run the script to print the fruit category based on the $fruitColor. Use Write-Output inside the switch statement as implemented. The output should be exactly: Apple is a red fruit.
PowerShell
Hint

Run the script and check the output matches exactly.

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