Administration and Automation with Windows PowerShell
Course Introduction • 5min
0 / 2 lessons complete
Getting Started with Windows PowerShell • 42min
0 / 7 lessons complete
The Basics of PowerShell
Video | 7 min
Installing and Updating PowerShell
Video | 7 min
The Text Based Console Part 1- An Overview
Video | 7 min
Text Based Console Part 2 - An Overview
Video | 5 min
The ISE (Intelligent Scripting Environment) Part 1
Video | 5 min
The ISE (Intelligent Scripting Environment) Part 2
Video | 5 min
Use the OGV Command to Easily View console data!
Video | 6 min
Getting Help and Finding Commands • 39min
0 / 6 lessons complete
Getting Help and Finding Commands Part 1
Video | 7 min
Getting Help and Finding Commands Part 2
Video | 3 min
Getting Help and Finding Commands Part 3
Video | 4 min
Help System LAB Questions
Video | 6 min
Help System Lab Answers 1-4
Video | 9 min
Help System Lab Answers 5-9
Video | 10 min
PowerShell Command Syntax • 33min
0 / 5 lessons complete
Command Syntax Part 1
Video | 8 min
Command Syntax Part 2
Video | 8 min
Command Syntax Part 3
Video | 5 min
Command Syntax Lab Questions
Video | 4 min
Command Syntax Lab Answers
Video | 8 min
PowerShell Objects and Properties • 35min
0 / 6 lessons complete
Objects, Properties and Methods Part 1
Video | 3 min
Objects, Properties and Methods Part 2
Video | 8 min
Objects, Properties and Methods Part 3
Video | 7 min
Questions 1-9 for Objects, Properties and Methods
Video | 2 min
Answers to Questions 1-7 O-P-M
Video | 11 min
Answers to Questions 8,9 O-P-M
Video | 4 min
The PowerShell Pipeline • 24min
0 / 2 lessons complete
PowerShell Providers • 30min
0 / 5 lessons complete
What are PowerShell Providers
Video | 3 min
Using PS Drive
Video | 6 min
PowerShell Provider CMDlets -1
Video | 12 min
PowerShell Providers CMDlets -2
Video | 7 min
Student Assignments
Text | 2 min
PowerShell Arrays and Variables • 28min
0 / 4 lessons complete
PowerShell Variables
Video | 9 min
PowerShell Arrays
Video | 12 min
PowerShell Variables Challenge
Video | 2 min
PowerShell Variables Solution
Video | 5 min
PowerShell Loops • 19min
0 / 3 lessons complete
PowerShell Conditional Statements • 11min
0 / 1 lessons complete
On Premises Lab Setup • 36min
0 / 8 lessons complete
Should You Watch This Section?
Video | 2 min
Downloading and Installing VirtualBox
Video | 2 min
Downloading Windows Server 2019
Video | 3 min
Creating Your Virtual Network
Video | 2 min
Creating Your Virtual Machines
Video | 7 min
Installing VirtualBox Guest Additions
Video | 2 min
Installing Windows Server
Video | 8 min
Installing the Active Directory Domain Services Role
Video | 10 min
Basic Domain Administration with Windows PowerShell • 2hr 27min
0 / 10 lessons complete
Configuring PowerShell Execution Policy with Group Policy
Video | 13 min
Installing Windows Server Roles and Features with Powershell
Video | 6 min
Running Powershell Scripts as Scheduled Tasks
Video | 8 min
Creating Organizational Units with Powershell
Video | 11 min
Creating and Managing Active Directory User Accounts with PowerShell
Video | 19 min
Move all AD Users in a Group to a Specific Organizational Unit
Video | 7 min
Generate a list of AD Users and their OU
Video | 5 min
PowerShell Splatting
Video | 5 min
Bulk Install Windows MSU Files Automatically with PowerShell
Video | 13 min
Lab: Domain Administration with Windows PowerShell
Lab | 60 min
Send Emails with PowerShell • 22min
0 / 2 lessons complete
Send Emails from Gmail with PowerShell
Video | 9 min
Create Password Expiration Notification Script
Video | 13 min
PowerShell Desired State Configuration (DSC) Basics • 1hr 48min
0 / 6 lessons complete
DSC Overview
Video | 9 min
Enabling PSRemoting with Group Policy
Video | 9 min
The DSC Resource Kit
Video | 7 min
Configuring The Local Config Manager for DSC Push
Free lesson
Video | 14 min
Uninstalling Windows Features with DSC
Video | 9 min
Lab: Desired State Configuration (DSC)
Lab | 60 min
Course Conclusion • 1min
0 / 1 lessons complete
Sign up to access this lesson
Click here to sign up and get access to this lesson!

Saving Progress...
PowerShell Variables
In this lecture, we are going to learn about PowerShell variables.
So, we are going to do most of our work today in the PowerShell ISE, although you can use either one that you want.
So, what I am going to do is open up the ISE.

One thing to keep in mind is that I am running this as an Administrator, and this is important because some of you might have PowerShell execution policies that may block scripts, so one way to get around that is to run the PowerShell as an Administrator and you can change the execution policy.
Again, we are not going to get into that in this lecture, but just so you understand how my environment is set up I wanted to make sure I am in that clear.
So, first, let’s talk about what is actually a variable? Well, is something that is not fixed or doesn’t have a fixed pattern and is liable to change, right?
So, in our old math classes we learned x = 1 and if we do x + x = 2, and x * x = 1 because what we are essentially doing is basic math, we all understand what this actually means.
Well in PowerShell also use variables, and we won’t only be using them to store basic math like basic integer numbers. We can also store strings and different things like that and it is extremely useful. So just let’s get right at it and get started.
So, how do you actually declare a variable? Well, in PowerShell is as simple as using the dollar sign $ or pressing the SHIFT+4 key combination and then declaring the name, so we can type:
$MyVariable
And, if we run this in ISE hitting Play we will see initially just declared a variable (1). Now, if we echo the variable typing on the bottom pane in Powershell:
echo $MyVariable
We are going to get a blank output (2) because we haven't assigned any type of value to my variable.

We could type down in the PowerShell pane:
$MyVariable = “Test”
echo $MyVariable
We now get Test as an output.

Now, another way that we can output this data is simply just writing in the name of the variable $MyVariable and pressing Enter.

Let’s make a new variable and we will call it $processes = Get-Process, and if we run this we are not going to get any result but if we type echo $processes and press Enter we are going to get the output of the command Get-Processes which was stored in $processes.

Now, if I type Get-Processes and press Enter we will get the exact same output. The reason why it is useful to store information in a variable is that it can capture specific states of our computer at a specific point in time, we can manipulate these variables later on, etc.
If we want to manipulate the data that was stored in $processes we can just type the variable name and we can pipe it to a Select-Object command and as you know Select-Object will allow us to choose for example the Id or the ProcessName by typing $processes | Select-Object Id,ProcessName and press Enter.


So, you are able to manipulate this information, just like when running the Get-Process command.


One of the useful things you can do when processing variables is that sometimes you want to get the user input.
Let’s create a variable called $UserInput = Read-Host -Prompt “Please enter your name” and press Enter it will execute and ask us to enter our name.

Now, Paul is now stored inside $UserInput. So, if we type echo $UserInput and press Enter. We are going to get the value of $UserInput which is equal to the Read-Host command.
Sign up to access the rest of this lesson
You must either log in or sign up to access this lesson.

Saving Progress...