0%

0/1 Lessons

Course Introduction

• 5min

0 / 2 lessons complete

Getting Started with Windows PowerShell

• 56min

0 / 8 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

PowerShell Modules

• 58min

0 / 7 lessons complete

Powershell Challenges

• 1hr 55min

0 / 23 lessons complete

Course Conclusion

• 1min

0 / 1 lessons complete

Instructions

Q&A (0)

Notes (0)

Resources (0)

Saving Progress...

Resources

There are no resources for this lesson.

Notes can be saved and accessed anywhere in the course. They also double as bookmarks so you can quickly review important lesson material.

Create note

In this lecture, we are going to learn about PowerShell Arrays.

So, first, let's start with the definition.

Now, if you go to Google and you just ask for the definition of Arrays it will say “An impressive display or range of a particular type of thing”, “An ordered series of arrangements”. Those are two definitions that you get if you go to Google.

Now, you can think of this example sentence: “They have an array of Swords hanging in the  castle”. It kind of puts an image in your mind of a castle with five, six, seven different Swords hanging on a wall or whatever the case might be. Kind of gives you an idea.

Now, in PowerShell, an Array is a collection of elements that are identified by a unique index number.

Arrays are similar to PowerShell variables, but they are created and used differently.

The primary differences are: A variable stores a single element, and an Array can store multiple elements.

I am going to open PowerShell logged in and I have launched it as an Administrator. What we are going to do is look into the differences between creating or declaring a variable and declaring an array in PowerShell.

First, with the variable I can create $MyVariable = “cheese” and press Enter.

Now, we can echo the value of $MyVariable by typing it in and pressing Enter.

Echoing or declaring an array is not much different. What we are going to do is create an array by typing $MyArray = @(“Cheese”) and press Enter.

I can now type $MyArray and I can reference the index number of this element. Now, since this is the first and only element inside of this array and remember that computers start counting at 0, we can type the following: $MyArray[0] and press Enter.

We can declare multiple elements in an array. If we want to declare multiple elements for $MyArray = @(“Elm1”,”Elm2”,”Elm3”) and press Enter, and I type $MyArray[] we can reference each of these elements.

Just keep in mind that we have 3 elements but computers count at 0 so the index numbers for the elements of the array would be 0,1,2. That’s why when I put 3 it didn’t output anything.

Now, we can also output all this information by calling the array and not specifying an index number like $MyArray and pressing Enter.

Now, a lot of times when you are working with PowerShell Arrays you will be creating an empty array and then adding or removing from that array. So we are going to talk about how you can declare an empty array, and you can do that by just typing: $MyArray = @()

Now, I can output my array by typing $MyArray and pressing Enter.

The array is empty or blank. Generally, when you are working with arrays you want to declare and then you can add or remove them. Unless you have a fixed value that you know you are going to put into the array then you would declare it like this: $MyArray = @(“Elm1”,”Elm2”,”Elm3”)

Now, if we have this empty array called $MyArray I can add to it by using $MyArray += “Apple” and press Enter. Now, if I output $MyArray and press Enter it now has Apple.

Now, if I want to add something else to that array I can type $MyArray += “Olives” for a single value. But if you want to add multiple values you can type $MyArray @(“Peppers”,”Olives”) and press Enter.

Now, if I echo $MyArray and press Enter.

I can now see all the values stored in $MyArray.

So, what we just did is we create a blank array verifying that it was empty by echoing the array and then entering the values and echoing the array again.

Again, if we want to reference a unique element we can type $MyArray[1] and press Enter.

Let’s go ahead and create a new array and add elements in no particular order. Type $Alphabet = @(“C”,”D”,”A”,”E”,”B”) and press Enter.

And what we are going to talk about is how we can sort this array.

Again, if we output the array by typing $Alphabet and pressing Enter we should see the contents.

Now, we can sort this by just piping it to the Sort command which is an alias of Sort-Object. Type $Alphabet | Sort and press Enter.

As you can see it will sort it in ascending order. We can also sort in descending order typing  $Alphabet | Sort -Descending and press Enter.

Keep in mind the array $Alphabet has not been modified after sorting it. If we actually want it to change the sorting of this array we would have to run $Alphabet = $Alphabet | Sort and press Enter replacing the entire array. Let’s output the array as well after.

We are modifying it this time and not manipulating it as before.

Now, let’s talk about how you actually remove an element from an array.

Let’s output the contents of $MyArray and press Enter.

Let’s say I want to remove the element “Peppers”. Now, there’s not actually a remove command. What we would do is replace this array by taking the output of the array and using what is called a where command. Let's type the following:

$MyArray | where {$_ -ne “Peppers”}

We are outputting the array and looking where the output is not “Peppers”.

But remember, if we output the array we can see we are not actually modifying it.

If I actually want to change that I need to run $MyArray = $MyArray | where {$_ -ne “Peppers”}. Now I can echo $MyArray and press Enter.

That’s one way we can go about removing an element from an array.

But first, let’s add “Pepper” back into the array executing $MyArray += “Peppers”. Let’s output the array to confirm.

Another way we can remove an element is the following. Let’s remove “Olives” by using the array with the index.

$MyArray = $MyArray | where {$_ -ne $MyArray[1]}

Now, the last thing we need to talk about is, how do we delete an array. We talked about creating them, declaring them, adding an element, removing elements, and sorting them. How do we actually delete one?

Type the following:

$MyArray = $null

$MyArray

And this would be just how you assign the value of the contents of my array to null.

Alright, so that’s all we have to cover for PowerShell arrays. Now, there’s a lot more to do with arrays that I haven’t covered yet but I think that’s enough for this particular lecture.

Mainly we are going to talk about looping through arrays and things like that in the future part of this course but that is all we need to talk about with PowerShell arrays.

0 0 votes
Lesson Rating
Subscribe
Notify of
profile avatar
2 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments

profile avatar
Larry Mayers(@larrym)
Member
1 year ago

Never knew Powershell has this ability. This programmatic syntax reminds me of PHP!

profile avatar
Larry Mayers(@larrym)
Member
1 year ago

Dynamically typed variables 🙌🏽🚀