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
  2. Lesson 1: PowerShell Basics
    1. Learning objectives
    2. 1.1 Introduction to PowerShell
    3. 1.2 The PowerShell Interface
    4. 1.3 Basic PowerShell Syntax
    5. 1.4 Getting Help
    6. 1.5 Predicting a Command’s Behavior
  3. Lesson 2: Working with PowerShell Cmdlets
    1. Learning objectives
    2. 2.1 Commonly Used Cmdlets
    3. 2.2 Objects and Attributes
    4. 2.3 Working with Variables
    5. 2.4 Introduction to PowerShell Modules
    6. 2.5 Making Sense of Error Messages
  4. Lesson 3: Basic PowerShell Scripting
    1. Learning objectives
    2. 3.1 Building PowerShell Scripts
    3. 3.2 Configuring Execution Policies
    4. 3.3 Adding Functions to PowerShell Scripts
    5. 3.4 Silencing Errors
    6. 3.5 Using Interactive Authentication
    7. 3.6 Using Automatic Authentication
  5. Lesson 4: Enhancing PowerShell Scripts
    1. Learning objectives
    2. 4.1 Passing Variables to Functions
    3. 4.2 Global Variables and Local Variables
    4. 4.3 Creating Loops
    5. 4.4 Working with .NET Integration
    6. 4.5 Building Stand-Alone Functions
  6. Lesson 5: Interacting with Active Directory
    1. Learning objectives
    2. 5.1 Querying Active Directory from PowerShell
    3. 5.2 Creating Active Directory User Accounts with PowerShell
    4. 5.3 Modifying Active Directory User Accounts from PowerShell
    5. 5.4 Working with Active Directory Groups from PowerShell
  7. Lesson 6: Automating PowerShell Scripts
    1. Learning objectives
    2. 6.1 Making Scripts Run Automatically
    3. 6.2 Sending E-Mail Messages from PowerShell Scripts
    4. 6.3 Generating Meaningful E-Mail Messages
    5. 6.4 Best Practices for PowerShell Scripting
  8. Lesson 7: Using PowerShell as a Reporting Tool
    1. Learning objectives
    2. 7.1 Basic PowerShell Reporting
    3. 7.2 Creating CSV Files
    4. 7.3 Creating Text Files
    5. 7.4 Creating HTML Files
    6. 7.5 Adding Color and Formatting to HTML Reports
  9. Lesson 8: Creating Graphical Reports
    1. Learning objectives
    2. 8.1 Creating Simple Charts Using PowerShell
    3. 8.2 Changing Chart Types
    4. 8.3 Importing Data Into PowerShell Charts
  10. Lesson 9: Using PowerShell Remoting
    1. Learning objectives
    2. 9.1 Introduction to PowerShell Remoting
    3. 9.2 Establishing Remote Sessions
    4. 9.3 Running Cmdlets on Remote Systems
    5. 9.4 Compiling Data from Remote Servers
  11. Lesson 10: Building Your Own PowerShell GUI
    1. Learning objectives
    2. 10.1 Creating Basic GUIs
    3. 10.2 Adding Text Boxes
    4. 10.3 Working with Buttons
    5. 10.4 Working with Drop-Down Lists
  12. Summary
    1. Practical Windows PowerShell Scripting: Summary

Product information

  • Title: Practical Windows PowerShell Scripting
  • Author(s): Brien Posey
  • Release date: September 2016
  • Publisher(s): Pearson
  • ISBN: 0134646096