0/1 Lessons

Course Introduction

• 5min

0 / 2 lessons complete

Getting Started with Windows PowerShell

• 42min

0 / 7 lessons complete

Getting Help and Finding Commands

• 39min

0 / 6 lessons complete

PowerShell Command Syntax

• 33min

0 / 5 lessons complete

PowerShell Objects and Properties

• 35min

0 / 6 lessons complete

The PowerShell Pipeline

• 24min

0 / 2 lessons complete

PowerShell Providers

• 30min

0 / 5 lessons complete

PowerShell Arrays and Variables

• 28min

0 / 4 lessons complete

PowerShell Loops

• 19min

0 / 3 lessons complete

PowerShell Conditional Statements

• 11min

0 / 1 lessons complete

On Premises Lab Setup

• 36min

0 / 8 lessons complete

Basic Domain Administration with Windows PowerShell

• 2hr 27min

0 / 10 lessons complete

Send Emails with PowerShell

• 22min

0 / 2 lessons complete

PowerShell Desired State Configuration (DSC) Basics

• 1hr 48min

0 / 6 lessons complete

Course Conclusion

• 1min

0 / 1 lessons complete

For Each Loop

Saving Progress...

In this lecture, we are going to discuss PowerShell For Each loop.

Open the PowerShell ISE as an Administrator.

We are going to go ahead and start by discussing what a For Each Loop is.

Now, this is a loop that is specifically made to iterate over elements stored inside of an array. 

So, we take our array: $Vehicles = @(“Cars”,”Motorcycles”,”Trucks”,”SUVs”) and we execute it in PowerShell.

Type in $Vehicles and press Enter. We get the entire array of contents.

Now, if we want to iterate that through a For Loop we can type and execute the following:

$Vehicles = @(“Cars”,”Motorcycles”,”Trucks”,”SUVs”)

for ($i=0; $i -lt $Vehicles.Count; $i++) {

$Vehicles [$i]


Basically, it will show the same output as before but now in a For Loop.

We can further modify that and add the following to the script.

$Vehicles = @(“Cars”,”Motorcycles”,”Trucks”,”SUVs”)

for ($i=0; $i -lt $Vehicles.Count; $i++) {

echo (“Element $i = “ + $Vehicles [$i])


Execute the script.

This is the way we would have done it before.

Now, inside of a For Loop or a For Each loop rather we can do things like this:

$Array = @(“Element1”,”Element2”)

ForEach($Element in $Array) {



Execute the script.

What we are doing here is assign a variable $Element, and this $Element represents whatever element we are actually iterating over currently inside the array and we can change the $Element to any value like $i and will output the same results.

Now, if we are trying to make something like a new user account we can do an array that contains a list of people like the following:

$People = @(“Paul Hill”,”Jason Tolber”,”Charlie Irkins”,”Malanie Garth”)

ForEach ($Person in $People) {

echo “Creating new Active Directory user account for $Person”


Let’s execute the script.

You can see that it is creating a new Active Directory User Account for the users.

So, this is an example, we can actually directly write a new command to our script like using the New-ADUser and Import the Active Directory module to actually create a user. But you can actually create an Active Directory account by using arrays in the For Each loop.

So, that is an example of what a For Each Loop is and this is how you can use it. Of course, we are just echoing an output, we are not actually creating anything but just as an example this is how you would do it.

Server Academy Members Only

Want to access this lesson? Just sign up for a free Server Academy account and you'll be on your way. Already have an account? Click the Sign Up Free button to get started..

0 0 votes
Lesson Rating
Notify of
Inline Feedbacks
View all comments