Bird
Raised Fist0
PowerShellscripting~15 mins

Arrays in PowerShell - Mini Project: Build & Apply

Choose your learning style10 modes available
Working with Arrays in PowerShell
📖 Scenario: You are organizing a small event and need to manage a list of guest names using PowerShell arrays.
🎯 Goal: Build a PowerShell script that creates an array of guest names, adds a new guest, filters guests whose names start with a specific letter, and then displays the filtered list.
📋 What You'll Learn
Create an array with exact guest names
Add a new guest name to the array
Filter the array for names starting with a specific letter
Print the filtered list of guest names
💡 Why This Matters
🌍 Real World
Managing lists of items like guest names, file names, or tasks is common in automation scripts.
💼 Career
Knowing how to work with arrays and filter data is essential for system administrators and automation engineers.
Progress0 / 4 steps
1
Create the initial array of guest names
Create an array called guests with these exact names: "Alice", "Bob", "Charlie", "Diana", and "Ethan".
PowerShell
Hint

Use @() to create an array and separate names with commas.

2
Add a new guest name to the array
Add the guest name "Fiona" to the existing guests array using the += operator.
PowerShell
Hint

Use $guests += "Fiona" to add a new item to the array.

3
Filter guests whose names start with the letter 'C'
Create a new array called filteredGuests that contains only the names from guests starting with the letter 'C'. Use the Where-Object cmdlet with a script block checking if the name starts with 'C'.
PowerShell
Hint

Use Where-Object { $_.StartsWith('C') } to filter names starting with 'C'.

4
Display the filtered guest names
Print the contents of the filteredGuests array using Write-Output.
PowerShell
Hint

Use Write-Output $filteredGuests to display the filtered names.

Practice

(1/5)
1. What does an array in PowerShell do?
easy
A. Stores only one item at a time
B. Stores multiple items in one variable
C. Runs commands sequentially
D. Creates a new script file

Solution

  1. Step 1: Understand the purpose of arrays

    Arrays hold multiple values together in one variable, unlike single variables that hold one value.
  2. Step 2: Compare options with array definition

    Only Stores multiple items in one variable correctly describes storing multiple items in one variable, which matches the array concept.
  3. Final Answer:

    Stores multiple items in one variable -> Option B
  4. Quick Check:

    Arrays = store multiple items [OK]
Hint: Arrays hold many items together in one variable [OK]
Common Mistakes:
  • Thinking arrays hold only one item
  • Confusing arrays with scripts or commands
  • Believing arrays create files
2. Which of the following is the correct way to create an empty array in PowerShell?
easy
A. $arr = []
B. $arr = array()
C. $arr = {}
D. $arr = @()

Solution

  1. Step 1: Recall PowerShell array syntax

    PowerShell uses @() to create arrays, including empty ones.
  2. Step 2: Check each option

    $arr = @() uses @() which is correct. Options A, B, and C use invalid or different syntax for arrays.
  3. Final Answer:

    $arr = @() -> Option D
  4. Quick Check:

    Empty array = @() [OK]
Hint: Use @() to create arrays in PowerShell [OK]
Common Mistakes:
  • Using [] which is not valid for arrays in PowerShell
  • Using {} which is for hashtables or script blocks
  • Using array() which is not recognized in PowerShell
3. What is the output of this PowerShell code?
$arr = @('apple', 'banana', 'cherry')
Write-Output $arr[1]
medium
A. banana
B. apple
C. cherry
D. 1

Solution

  1. Step 1: Understand array indexing in PowerShell

    Arrays start at index 0, so $arr[0] = 'apple', $arr[1] = 'banana', $arr[2] = 'cherry'.
  2. Step 2: Identify the output of $arr[1]

    The code outputs the item at index 1, which is 'banana'.
  3. Final Answer:

    banana -> Option A
  4. Quick Check:

    Index 1 = banana [OK]
Hint: Arrays start at zero; index 1 is second item [OK]
Common Mistakes:
  • Thinking index starts at 1
  • Confusing item values with index numbers
  • Expecting all items printed instead of one
4. Identify the error in this PowerShell code:
$arr = @()
$arr + 'orange'
medium
A. += operator is missing to add item
B. Array cannot be empty
C. Use [] instead of @() for arrays
D. Variable name must start with capital letter

Solution

  1. Step 1: Check how to add items to arrays

    In PowerShell, to add an item to an array, use '+=' operator, not just '+'.
  2. Step 2: Analyze the code

    The code uses '$arr + 'orange'' which does not update $arr. It should be '$arr += 'orange'' to add the item.
  3. Final Answer:

    += operator is missing to add item -> Option A
  4. Quick Check:

    Add item with += [OK]
Hint: Use += to add items to arrays, not just + [OK]
Common Mistakes:
  • Using + without = to add items
  • Thinking arrays cannot be empty
  • Confusing array syntax with other languages
5. You have an array $arr = @('cat', 'dog', 'bird'). How do you add 'fish' to the end and then print all items one per line?
hard
A. $arr = $arr + 'fish'; Write-Host $arr
B. $arr + 'fish'; Write-Output $arr
C. $arr += 'fish'; $arr | ForEach-Object { Write-Output $_ }
D. $arr += 'fish'; Write-Host $arr[0], $arr[1], $arr[2], $arr[3]

Solution

  1. Step 1: Add 'fish' to the array correctly

    Use '+=' operator to add 'fish' to $arr: $arr += 'fish'.
  2. Step 2: Print each item on its own line

    Use pipeline with ForEach-Object and Write-Output to print each item separately.
  3. Step 3: Check each option

    $arr += 'fish'; $arr | ForEach-Object { Write-Output $_ } correctly adds and prints items line by line. $arr + 'fish'; Write-Output $arr does not update $arr. $arr = $arr + 'fish'; Write-Host $arr uses Write-Host which prints all items on one line. $arr += 'fish'; Write-Host $arr[0], $arr[1], $arr[2], $arr[3] prints items but manually and is less flexible.
  4. Final Answer:

    $arr += 'fish'; $arr | ForEach-Object { Write-Output $_ } -> Option C
  5. Quick Check:

    Add with += and print with pipeline [OK]
Hint: Add with += and print each item using pipeline [OK]
Common Mistakes:
  • Using + without = to add items
  • Printing array without pipeline for separate lines
  • Using Write-Host which prints all on one line
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