0
0
PowerShellscripting~20 mins

Why control flow directs execution in PowerShell - Challenge Your Understanding

Choose your learning style9 modes available
Challenge - 5 Problems
🎖️
Control Flow Mastery
Get all challenges correct to earn this badge!
Test your skills under time pressure!
💻 Command Output
intermediate
2:00remaining
What is the output of this PowerShell script with if-else?
Look at this script and tell what it prints when $value is 5.
PowerShell
$value = 5
if ($value -gt 10) {
  Write-Output "Greater than 10"
} else {
  Write-Output "10 or less"
}
A10 or less
BGreater than 10
CNo output
DError: Variable not defined
Attempts:
2 left
💡 Hint
Think about whether 5 is greater than 10 or not.
🧠 Conceptual
intermediate
2:00remaining
Why does the script skip the else block here?
Given this script, why does it print "Inside if" and skip the else block?
PowerShell
$x = 20
if ($x -eq 20) {
  Write-Output "Inside if"
} else {
  Write-Output "Inside else"
}
ABecause $x is not defined
BBecause else always runs after if
CBecause $x equals 20, so the if condition is true
DBecause Write-Output only works inside if
Attempts:
2 left
💡 Hint
Check the condition inside the if statement.
📝 Syntax
advanced
2:00remaining
Which option correctly uses a switch statement to print 'Fruit' for apple and banana?
Choose the correct PowerShell switch syntax that prints 'Fruit' when the input is 'apple' or 'banana'.
PowerShell
switch ($item) {
  'apple' { Write-Output 'Fruit' }
  'banana' { Write-Output 'Fruit' }
  default { Write-Output 'Unknown' }
}
A
switch ($item) {
  'apple': Write-Output 'Fruit'
  'banana': Write-Output 'Fruit'
  default: Write-Output 'Unknown'
}
B
switch ($item) {
  'apple' { Write-Output 'Fruit' }
  'banana' { Write-Output 'Fruit' }
  default { Write-Output 'Unknown' }
}
C
switch ($item) {
  'apple' -> Write-Output 'Fruit'
  'banana' -> Write-Output 'Fruit'
  default -> Write-Output 'Unknown'
}
D
switch $item {
  'apple' => Write-Output 'Fruit'
  'banana' => Write-Output 'Fruit'
  default => Write-Output 'Unknown'
}
Attempts:
2 left
💡 Hint
PowerShell switch uses braces {} for code blocks, not arrows or colons.
🔧 Debug
advanced
2:00remaining
What error does this script produce and why?
This script tries to use a while loop but has a mistake. What error will it produce?
PowerShell
$count = 3
while $count -gt 0 {
  Write-Output $count
  $count--
}
ASyntaxError: Missing parentheses around while condition
BRuntime error: Variable $count not found
CSyntaxError: Missing parentheses around condition
DNo error, prints 3 2 1
Attempts:
2 left
💡 Hint
Check how the while condition is written in PowerShell.
🚀 Application
expert
2:00remaining
How many times does this nested loop print 'Looping'?
Count how many times 'Looping' is printed by this script.
PowerShell
$outer = 2
$inner = 3
for ($i = 0; $i -lt $outer; $i++) {
  for ($j = 0; $j -lt $inner; $j++) {
    Write-Output 'Looping'
  }
}
A5 times
B2 times
C3 times
D6 times
Attempts:
2 left
💡 Hint
Multiply the number of outer loop runs by inner loop runs.