📖 Scenario: You are helping a small store owner who wants to list product IDs for a sale. The IDs are numbers in a sequence. You will use PowerShell's range operator to create this list easily.
🎯 Goal: Build a PowerShell script that uses the range operator .. to create a list of product IDs from 101 to 110, then display them.
📋 What You'll Learn
Create a variable called productIDs using the range operator .. to include numbers from 101 to 110
Create a variable called startID and set it to 101
Use the range operator with startID to create productIDs
Print the productIDs variable to show the list of IDs
💡 Why This Matters
🌍 Real World
Range operators help quickly create lists of numbers, useful for IDs, dates, or steps in automation scripts.
💼 Career
Knowing how to generate sequences with range operators is a basic skill for scripting tasks in IT, DevOps, and automation roles.
Progress0 / 4 steps
1
Create the product ID list using the range operator
Create a variable called productIDs and set it to the range of numbers from 101 to 110 using the range operator ...
PowerShell
Hint
Use .. between two numbers to create a sequence. For example, 1..5 creates numbers 1 to 5.
2
Create a start ID variable
Create a variable called startID and set it to 101.
PowerShell
Hint
Just assign the number 101 to the variable startID.
3
Use the startID variable with the range operator
Update the productIDs variable to use the startID variable as the start of the range and 110 as the end of the range.
PowerShell
Hint
Use the variable startID on the left side of the .. operator.
4
Display the product IDs
Print the productIDs variable to display the list of product IDs.
PowerShell
Hint
Use Write-Output $productIDs to print the list in PowerShell.
Practice
(1/5)
1. What does the PowerShell range operator 1..5 produce?
easy
A. An empty list
B. A list of numbers from 5 to 1 inclusive
C. A syntax error
D. A list of numbers from 1 to 5 inclusive
Solution
Step 1: Understand the range operator syntax
The range operator .. creates a sequence of numbers from the first number to the second number.
Step 2: Apply the operator to 1..5
It creates a list starting at 1 and ending at 5, including both ends.
Final Answer:
A list of numbers from 1 to 5 inclusive -> Option D
Quick Check:
Range 1..5 = 1,2,3,4,5 [OK]
Hint: Range operator lists numbers from start to end inclusive [OK]
Common Mistakes:
Thinking it counts down by default
Expecting exclusive end value
Confusing syntax with other operators
2. Which of the following is the correct syntax to create a descending range from 5 to 1 in PowerShell?
easy
A. 5-1
B. 1..5
C. 5..1
D. range(5,1)
Solution
Step 1: Identify how to create descending ranges
PowerShell range operator supports descending ranges by placing the higher number first.
Step 2: Check the options
5..1 uses 5..1 which creates a descending list from 5 down to 1.
Final Answer:
5..1 -> Option C
Quick Check:
Descending range = 5..1 [OK]
Hint: Put larger number first for descending range [OK]
Common Mistakes:
Using 1..5 for descending range
Using invalid syntax like 5-1
Using non-PowerShell functions like range()
3. What is the output of this PowerShell command?
1..3 | ForEach-Object { $_ * 2 }
medium
A. 2 4 6
B. 1 2 3
C. 3 6 9
D. Error: Invalid operation
Solution
Step 1: Understand the range and pipeline
The range operator 1..3 produces 1, 2, 3 which are piped one by one.
Step 2: Multiply each number by 2
Each number is multiplied by 2: 1*2=2, 2*2=4, 3*2=6.
Final Answer:
2 4 6 -> Option A
Quick Check:
1..3 * 2 = 2 4 6 [OK]
Hint: Range pipes each number; multiply inside loop [OK]
Common Mistakes:
Expecting original numbers without multiplication
Confusing multiplication with addition
Thinking it produces a syntax error
4. You wrote this code but it throws an error:
5..1..1
What is the problem?
medium
A. Range operator does not support three dots
B. Range operator requires spaces between dots
C. Range operator only works with ascending numbers
D. Range operator needs parentheses around numbers
Solution
Step 1: Analyze the syntax used
The code uses three dots .. twice in a row, making ..1..1 which is invalid.
Step 2: Understand range operator limitations
The range operator only supports two dots .. between two numbers, not three dots or step values.
Final Answer:
Range operator does not support three dots -> Option A
Quick Check:
Only two dots allowed in range operator [OK]
Hint: Range operator uses exactly two dots (..), no more [OK]
Common Mistakes:
Trying to add step value with extra dots
Adding spaces between dots
Assuming parentheses fix syntax
5. You want to create a list of even numbers from 2 to 10 using the range operator and filtering. Which script correctly does this?
hard
A. 2..10 | ForEach-Object { $_ * 2 }
B. 2..10 | Where-Object { $_ % 2 -eq 0 }
C. 1..5 | Where-Object { $_ % 2 -eq 0 }
D. 2..10..2
Solution
Step 1: Understand the range and filtering
The range operator 2..10 creates numbers 2 to 10. Filtering with Where-Object { $_ % 2 -eq 0 } keeps only even numbers.
Step 2: Check each option
2..10 | Where-Object { $_ % 2 -eq 0 } correctly filters evens from 2 to 10. 2..10 | ForEach-Object { $_ * 2 } doubles numbers 2 to 10 (wrong). 1..5 | Where-Object { $_ % 2 -eq 0 } filters evens from 1 to 5 (wrong range). 2..10..2 uses invalid syntax (range operator does not support step).
Final Answer:
2..10 | Where-Object { $_ % 2 -eq 0 } -> Option B
Quick Check:
Filter evens from range with Where-Object [OK]
Hint: Use Where-Object to filter even numbers after range [OK]
Common Mistakes:
Trying to add step in range operator
Using wrong range limits
Multiplying instead of filtering
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.