O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Practical Windows PowerShell Scripting

Video Description

10 Hours of Video Instruction

Learn from an expert while you become the expert. Practical Windows PowerShell Scripting LiveLessons begins with the basics of working with PowerShell and progresses to areas that are not typically covered, such as building GUI interfaces. The entire video is designed to be hands on, and is created by an instructor who is highly experienced with creating complex PowerShell scripts.

The goal of this video series is to teach skills for building PowerShell scripts that serve a practical purpose. These scripts can be used in day-to-day tasks for most jobs. The videos assume no prior PowerShell knowledge. The information is presented in such a way that each lesson builds onto the previous lesson, working toward the eventual coverage of advanced PowerShell concepts.

About the Instructor

Brien Posey is a 14-time Microsoft MVP with over two decades of IT experience. Brien works as a freelance technology author and speaker, focusing primarily on Microsoft-centric topics and enterprise networking. Prior to going freelance, Brien served as CIO for a national chain of hospitals and healthcare facilities, and as a network engineer for the US Department of Defense at Fort Knox. Brien has also served as a network administrator for some of the largest insurance companies in America. Brien is also in his second year of training as a commercial scientist-astronaut candidate.

Skill Level

All Levels

What You Will Learn

  • Basic PowerShell syntax
  • Work with PowerShell cmdlets
  • How to interpret PowerShell errors
  • Create basic PowerShell scripts
  • Enhance PowerShell scripts
  • Interact with Active Directory from PowerShell
  • How to automate PowerShell scripts
  • Work with remote sessions
  • Building GUI interfaces
  • PowerShell reporting

Who Should Take This Course

This course is ideal for anyone who wants to learn PowerShell. It is also well suited to those who already know PowerShell, but who want to be able to create PowerShell scripts that function more like applications.

Course Requirements

A basic understanding of Windows Server

Table of Contents

Lesson 1 is an introduction to Windows PowerShell. In this lesson, you will learn what PowerShell is, and how to use the PowerShell interface. This lesson also discusses the basics of PowerShell syntax, and how you can get help with commands. You will also learn how to tell exactly what a command is going to do, before you actually execute the command.

Lesson 2 takes a more in-depth look at PowerShell cmdlets. You will learn about commonly used cmdlets, and how to work with basic PowerShell elements including objects and attributes, variables, and modules. This lesson also discusses techniques for diagnosing and resolving PowerShell errors.

Lesson 3 is an introduction to PowerShell scripting, including how to build PowerShell scripts. Learn how to configure the PowerShell execution policies, and how to add functions to scripts. You will also learn how to authenticate a script both interactively and automatically, and how to suppress script errors.

Lesson 4 builds on the previous lesson by discussing how to enhance your PowerShell scripts. Learn how to pass variables to functions, as well as the difference between global and local variables. This lesson also discusses how to create loops, how to leverage .NET integration from a PowerShell script, and how to create stand-alone functions.

Lesson 5 discusses how PowerShell can be used to interact with the Active Directory. Here you will learn how to query the Active Directory, and how to create and modify Active Directory user accounts from PowerShell. You will even learn how to use PowerShell to create and manage Active Directory groups.

Lesson 6 covers how to automate PowerShell scripts. In this lesson, learn how to make a PowerShell script run at a scheduled time, and how to generate e-mail-based notifications from within a script. This lesson also discusses some best practices for PowerShell scripting.

Lesson 7 explains how to use PowerShell as a reporting engine. Learn some basic techniques for displaying data and how to write a report to CSV, TXT, and HTML files. You will also learn how to add color and formatting to the PowerShell reports that you create.

Lesson 8 builds on the previous lesson by exploring graphical reporting options in PowerShell. Although PowerShell has a reputation for being a text-only environment, it can be used to create very rich graphical charts. In this lesson, you will learn how to create simple charts, change chart types, and import data into PowerShell charts.

Lesson 9 teaches you how to use PowerShell to interact with remote systems. You will learn to establish remote sessions, run cmdlets on remote systems, and even compile data from a collection of remote servers. Lesson 10 wraps up the video series by explaining how to build your own GUI. Although PowerShell is widely regarded as being a text-only environment, it is possible to create PowerShell scripts that include a GUI interface. This lesson teaches you how to create basic GUIs, and how to add GUI elements such as text boxes, buttons, and drop-down lists.

Table of Contents

  1. Introduction
    1. Practical Windows PowerShell Scripting: Introduction 00:06:04
  2. Lesson 1: PowerShell Basics
    1. Learning objectives 00:00:28
    2. 1.1 Introduction to PowerShell 00:13:43
    3. 1.2 The PowerShell Interface 00:21:05
    4. 1.3 Basic PowerShell Syntax 00:14:07
    5. 1.4 Getting Help 00:13:23
    6. 1.5 Predicting a Command’s Behavior 00:10:54
  3. Lesson 2: Working with PowerShell Cmdlets
    1. Learning objectives 00:00:33
    2. 2.1 Commonly Used Cmdlets 00:13:17
    3. 2.2 Objects and Attributes 00:17:51
    4. 2.3 Working with Variables 00:29:22
    5. 2.4 Introduction to PowerShell Modules 00:19:30
    6. 2.5 Making Sense of Error Messages 00:12:45
  4. Lesson 3: Basic PowerShell Scripting
    1. Learning objectives 00:00:42
    2. 3.1 Building PowerShell Scripts 00:13:14
    3. 3.2 Configuring Execution Policies 00:14:46
    4. 3.3 Adding Functions to PowerShell Scripts 00:11:27
    5. 3.4 Silencing Errors 00:11:43
    6. 3.5 Using Interactive Authentication 00:06:05
    7. 3.6 Using Automatic Authentication 00:11:10
  5. Lesson 4: Enhancing PowerShell Scripts
    1. Learning objectives 00:00:28
    2. 4.1 Passing Variables to Functions 00:15:46
    3. 4.2 Global Variables and Local Variables 00:12:33
    4. 4.3 Creating Loops 00:10:29
    5. 4.4 Working with .NET Integration 00:10:34
    6. 4.5 Building Stand-Alone Functions 00:12:04
  6. Lesson 5: Interacting with Active Directory
    1. Learning objectives 00:00:33
    2. 5.1 Querying Active Directory from PowerShell 00:22:34
    3. 5.2 Creating Active Directory User Accounts with PowerShell 00:16:08
    4. 5.3 Modifying Active Directory User Accounts from PowerShell 00:13:43
    5. 5.4 Working with Active Directory Groups from PowerShell 00:16:13
  7. Lesson 6: Automating PowerShell Scripts
    1. Learning objectives 00:00:33
    2. 6.1 Making Scripts Run Automatically 00:12:53
    3. 6.2 Sending E-Mail Messages from PowerShell Scripts 00:08:22
    4. 6.3 Generating Meaningful E-Mail Messages 00:14:24
    5. 6.4 Best Practices for PowerShell Scripting 00:19:50
  8. Lesson 7: Using PowerShell as a Reporting Tool
    1. Learning objectives 00:00:35
    2. 7.1 Basic PowerShell Reporting 00:11:13
    3. 7.2 Creating CSV Files 00:12:46
    4. 7.3 Creating Text Files 00:08:21
    5. 7.4 Creating HTML Files 00:14:19
    6. 7.5 Adding Color and Formatting to HTML Reports 00:11:09
  9. Lesson 8: Creating Graphical Reports
    1. Learning objectives 00:00:33
    2. 8.1 Creating Simple Charts Using PowerShell 00:13:33
    3. 8.2 Changing Chart Types 00:13:08
    4. 8.3 Importing Data Into PowerShell Charts 00:11:27
  10. Lesson 9: Using PowerShell Remoting
    1. Learning objectives 00:00:32
    2. 9.1 Introduction to PowerShell Remoting 00:10:01
    3. 9.2 Establishing Remote Sessions 00:05:18
    4. 9.3 Running Cmdlets on Remote Systems 00:05:50
    5. 9.4 Compiling Data from Remote Servers 00:08:57
  11. Lesson 10: Building Your Own PowerShell GUI
    1. Learning objectives 00:00:36
    2. 10.1 Creating Basic GUIs 00:07:39
    3. 10.2 Adding Text Boxes 00:08:11
    4. 10.3 Working with Buttons 00:10:34
    5. 10.4 Working with Drop-Down Lists 00:15:22
  12. Summary
    1. Practical Windows PowerShell Scripting: Summary 00:00:55