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...
Objects, Properties and Methods Part 3
Now let’s take a look at using the Properties of an object
- Let’s use the get-childitem command. First type get-childitem | gm PIPE OPERATOR (hold your shift key down and press the key right above the enter key
Then Type GM press enter
We want to use the creationtime property to find out the creation date of the current version of PowerShell, press return
Let’s type the command then I’ll explain it.
Type (Get-ChildItem $pshome\PowerShell.exe).creationtime
- The most common way to get the values of the properties of an object is to
use the dot method. That means that you first surround the parameter and the path with parenthesis. Then insert a (.) then the property. Which in this case is creationtime. Now press return
And we get Wednesday, April 11, 2018 07:35 PM
- By the way $pshome is the path to the PowerShell home folder
Another way to get the properties of an object is to use the select-object command. The select-object command has a parameter called –property that will get the properties of an object.

Let’s type help Select-object -showwindow and let’s analyze the syntax.
- The parameter that we are going to be using is called -property.
Select-object is the name of the cmdlet.
Notice that the parameter -property and the argument’s value type - called object,
both are surrounded by square brackets. That means that both parameter and argument are optional and not needed.
Notice also that -property is surrounded by a separate set of square brackets so -property is positional as well.
We can verify that by scrolling up and looking at the parameter attributes. Which tell us that -property has a position of 0, and it is not required.
That tells us that -property should be located in the first position in the lineup of parameters.
We can also see that the argument has two square brackets inside the two angle brackets this means that the parameter -property can take multiple argumentsseparated by a comma.
- We’ll use get-eventlog security and select-object for this demonstration
Instead of displaying the whole security log let’s just display the newest 6 events.
Type Get-eventlog -logname security -newest 6
- Now let’s use Get-member, which will show us the properties and methods
Type Get-eventlog -logname security -newest 6 | get-member
- Let’s select a few useful properties. How about Time-Generated, EventID and machinename
Type Get-eventlog -logname security -newest 6 | Select-object Source, TimeWritten, machinename, Message. And press return.
And we see that the command ran.
In case your’e wondering why I used -logname, because as we discussed earlier it’s optional and not needed. Here’s why, when your’e first starting out in PowerShell, you might want to go ahead and type out some of the optional parameters. Especially if you plan on saving your commands and one liner’s as scripts for later use. It just makes it easier to remember what these commands and parameters are doing if you go ahead and type them out. The same goes for aliases you can use gsv for get-service . But it’s a whole lot easier to remember what get-service -name BITS is doing instead of gsv bits. Both commands will work, but when you’ve type out the whole command it’s easier to understand especially when you’re first starting with PowerShell.
Thanks for watching and we will see you in the next lecture.
Sign up to access the rest of this lesson
You must either log in or sign up to access this lesson.

Saving Progress...