Bird
Raised Fist0
PowerShellscripting~15 mins

For loop in PowerShell - Mini Project: Build & Apply

Choose your learning style10 modes available
Using a For Loop in PowerShell
📖 Scenario: You are organizing a small event and have a list of guests. You want to greet each guest with a personalized message.
🎯 Goal: Build a PowerShell script that uses a for loop to print a greeting message for each guest in the list.
📋 What You'll Learn
Create an array of guest names
Create a variable to hold the number of guests
Use a for loop to iterate over the guest names
Print a greeting message for each guest
💡 Why This Matters
🌍 Real World
Automating repetitive tasks like sending personalized messages to a list of contacts.
💼 Career
Understanding loops is essential for scripting tasks in system administration, automation, and DevOps roles.
Progress0 / 4 steps
1
Create the guest list array
Create an array called guests with these exact names: "Alice", "Bob", "Charlie", "Diana".
PowerShell
Hint

Use @() to create an array in PowerShell.

2
Create a variable for the number of guests
Create a variable called count that stores the number of guests in the guests array using the .Count property.
PowerShell
Hint

Use $guests.Count to get the number of items in the array.

3
Write the for loop to greet each guest
Write a for loop that uses a variable i starting at 0 and runs while i is less than count. Inside the loop, access each guest by $guests[i].
PowerShell
Hint

Use for ($i = 0; $i -lt $count; $i++) to loop through the array indexes.

4
Print greeting messages inside the loop
Inside the for loop, add a Write-Host statement to print: "Hello, $guest! Welcome to the event.".
PowerShell
Hint

Use Write-Host to print messages in PowerShell.

Practice

(1/5)
1.

What does a for loop in PowerShell do?

easy
A. Defines a function
B. Runs code only once
C. Stops the script immediately
D. Repeats a block of code a set number of times

Solution

  1. Step 1: Understand the purpose of a for loop

    A for loop is designed to repeat code multiple times based on a condition.
  2. Step 2: Compare options with the definition

    Only Repeats a block of code a set number of times correctly describes repeating code a set number of times.
  3. Final Answer:

    Repeats a block of code a set number of times -> Option D
  4. Quick Check:

    For loop = repeat code [OK]
Hint: For loops repeat code multiple times [OK]
Common Mistakes:
  • Thinking for loop runs only once
  • Confusing for loop with function definition
  • Believing for loop stops script
2.

Which of the following is the correct syntax for a for loop in PowerShell?

for (init; condition; increment) { code }
easy
A. for ($i=0; $i -lt 5; $i++) { Write-Output $i }
B. for $i in 0..5 { Write-Output $i }
C. foreach ($i=0; $i -lt 5; $i++) { Write-Output $i }
D. while ($i=0; $i -lt 5; $i++) { Write-Output $i }

Solution

  1. Step 1: Identify correct for loop syntax

    PowerShell for loops use parentheses with init; condition; increment separated by semicolons.
  2. Step 2: Check each option

    for ($i=0; $i -lt 5; $i++) { Write-Output $i } matches correct syntax. A uses while keyword. B has invalid 'for $i in' syntax. C uses foreach keyword. [OK]
  3. Final Answer:

    for ($i=0; $i -lt 5; $i++) { Write-Output $i } -> Option A
  4. Quick Check:

    Correct for loop syntax = for ($i=0; $i -lt 5; $i++) { Write-Output $i } [OK]
Hint: For loop uses semicolons inside parentheses [OK]
Common Mistakes:
  • Using foreach instead of for
  • Using spaces instead of semicolons
  • Confusing while loop syntax
3.

What will be the output of this PowerShell code?

for ($i=1; $i -le 3; $i++) { Write-Output ($i * 2) }
medium
A. 0 2 4
B. 1 2 3
C. 2 4 6
D. 3 6 9

Solution

  1. Step 1: Understand loop iterations

    The loop runs with $i values 1, 2, and 3 because condition is $i -le 3.
  2. Step 2: Calculate output for each iteration

    Output is $i * 2: 1*2=2, 2*2=4, 3*2=6.
  3. Final Answer:

    2 4 6 -> Option C
  4. Quick Check:

    Multiply each i by 2 = 2 4 6 [OK]
Hint: Multiply loop variable by 2 each iteration [OK]
Common Mistakes:
  • Confusing loop range
  • Multiplying after loop ends
  • Printing loop variable instead of calculation
4.

Identify the error in this PowerShell for loop:

for (; $i < 5; $i++) { Write-Output $i }
medium
A. The increment operator '++' is invalid in PowerShell
B. The loop variable $i is not initialized
C. The condition uses '<' instead of '-lt'
D. The loop body is missing curly braces

Solution

  1. Step 1: Check initialization syntax in for loop

    The initialization part is empty; $i needs to be initialized (e.g., $i=0).
  2. Step 2: Verify other parts

    Increment '++' is valid, condition '<' works for numbers, braces are present.
  3. Final Answer:

    The loop variable $i is not initialized -> Option B
  4. Quick Check:

    Always initialize $i in for loop [OK]
Hint: Initialize loop variable in for loop [OK]
Common Mistakes:
  • Forgetting to initialize loop variable
  • Thinking '++' is invalid
  • Using C-style operators like '<' in PowerShell
5.

You want to print only even numbers from 2 to 10 using a for loop in PowerShell. Which code snippet achieves this?

hard
A. for ($i=2; $i -le 10; $i+=2) { Write-Output $i }
B. for ($i=1; $i -lt 10; $i++) { if ($i % 2 -eq 0) { Write-Output $i } }
C. for ($i=2; $i -lt 10; $i++) { Write-Output $i }
D. for ($i=0; $i -le 10; $i+=3) { Write-Output $i }

Solution

  1. Step 1: Understand the goal

    We want to print even numbers from 2 to 10 inclusive.
  2. Step 2: Analyze each option

    for ($i=1; $i -lt 10; $i++) { if ($i % 2 -eq 0) { Write-Output $i } } goes to i<10 so prints 2,4,6,8 (misses 10). for ($i=2; $i -le 10; $i+=2) { Write-Output $i } starts at 2, increments by 2 up to 10: 2,4,6,8,10. for ($i=2; $i -lt 10; $i++) { Write-Output $i } prints 2-9 all numbers. for ($i=0; $i -le 10; $i+=3) { Write-Output $i } wrong start/step.
  3. Final Answer:

    for ($i=2; $i -le 10; $i+=2) { Write-Output $i } -> Option A
  4. Quick Check:

    Increment by 2 from 2 to 10 = even numbers [OK]
Hint: Increment by 2 starting at 2 for even numbers [OK]
Common Mistakes:
  • Using wrong increment step
  • Starting from 1 instead of 2
  • Not filtering for even numbers
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