Automating Administration with Windows PowerShell

Learn how with Windows PowerShell 4.0, you can remotely manage multiple Windows based servers and automate day to day management and administration tasks.

The course is built on Windows Server 2012 R2 and Windows 8.1 and while it is specifically focused on Windows PowerShell v4.0, is also relevant in v2.0 and v3.0 Windows PowerShell environments

This five day course provides students with the fundamental knowledge and skills to use Windows PowerShell 4.0 for administering and automating administration of Windows based servers. It focuses on primary Windows PowerShell command-line features and techniques, and will provide pre-requisite skills supporting a broad range of Microsoft products, including Windows Server, Windows Client, Exchange Server, SharePoint Server, SQL Server, System Center, and more. In keeping with that goal, this course will not focus on any one of those products, although Windows Server (which is the common platform for all of those) will serve as the example for the techniques being taught.

In this five day course you will learn to execute and monitor scripts more efficiently through more robust session connectivity, workflow capabilities, enhanced job scheduling, and Windows PowerShell Web Access. Learn Windows PowerShell with greater ease through improved cmdlet discovery and simplified, consistent syntax across all cmdlets. Write Windows PowerShell scripts quicker and more intuitively through the new Integrated Scripting Environment (ISE) that enables script sharing, which connects IT pros to a larger Windows PowerShell user community. Learn all this and more in this five-day Microsoft Official Course in Windows PowerShell 4.0.

Course Outline

Module 1: Getting Started with Windows PowerShell
This module introduces students to Windows PowerShell, its purpose and history. The module will also cover the basics of using the shell, including the help system, command syntax, command discovery explaining the use of the two built-in host applications.

Overview and Background
Finding and Learning Commands
Running Commands
Lab : Configuring Windows PowerShell
Configure the Windows PowerShell Console Application
Configure the Windows PowerShell ISE Application
Lab : Finding and Running Basic Commands
Finding Commands
Finding and Running Commands
Using "About" Files
After completing this module, students will be able to:
Open and configure Windows PowerShell
Discover, learn, and run Windows PowerShell commands
Run commands by using correct command and parameter syntax

Module 2: Working with the Pipeline
This module covers the Windows PowerShell pipeline along with a number of additional techniques and commands, including customizing command output, exporting and converting data, sorting objects, filtering objects, and enumerating objects allowing for the overall retrieval, manipulation and displaying of data.

Understanding the Pipeline
Selecting, Sorting, and Measuring Objects
Converting, Exporting, and Importing Objects
Filtering Objects Out of the Pipeline
Enumerating Objects in the Pipeline
Lab : Using the Pipeline
Selecting and Sorting Data
Lab : Converting, Exporting, and Importing Objects
Converting Objects
Importing and Exporting Objects
Lab : Filtering Objects
Filtering Objects
Lab : Enumerating Objects
Enumerating Objects
After completing this module, students will be able to:
Describe the purpose of the Windows PowerShell pipeline
Manipulate objects in the pipeline
Convert, export, and import objects
Filter objects out of the pipeline
Enumerate objects in the pipeline

Module 3: Understanding How the Pipeline Works
This module explains the underlying details of how Windows PowerShell passes objects from command to command within the pipeline. Having seen it in action in the previous module will now get to see some of the theory under the hood. The emphasis will be on two specific techniques used by the shell and students will learn to explain the pipeline operation, predict command behavior and allows them construct more useful, predictable commands.

Passing Data in the Pipeline By Value
Passing Data in the Pipeline By Property Name
Lab : Working with Pipeline Parameter Binding
Predicting Pipeline Behavior
After completing this module, students will be able to:
Pass data by using the ByValue technique
Pass data by using the ByPropertyName technique

Module 4: Using PSProviders and PSDrives
This module explains the purpose and use of Windows PowerShell PSProviders and PSDrives, and shows students how to use these useful components for administrative tasks. Students will also learn to use the -item* commands to manipulate items within a PSDrive.

Using PSProviders
Using PSDrives
Lab : Using PSProviders and PSDrives
Create a New Folder
Create a New PSDrive
Create a New Registry Key
Create a New Registry Setting
Modify a WS-Management Setting
After completing this module, students will be able to:
Explain the purpose and use of PSProviders
Explain the purpose and use of PSDrives

Module 5: Formatting Output
This module demonstrates how to format command output and how to create custom output elements.

Using Basic Formatting
Using Advanced Formatting
Redirecting Formatted Output
Lab : Formatting Output
Formatting Command Output
Reproducing Specified Output
After completing this module, students will be able to:
Format command output by using basic formatting commands
Format command output by using advanced formatting options
Redirect formatted output

Module 6: Querying Management Information by Using WMI and CIM
This module explains Windows Management Instrumentation (WMI) and Common Information Model (CIM), and shows students how to retrieve and in some cases modify management information about local and remote computers.

Understanding WMI and CIM
Querying Data with WMI and CIM
Making Changes by Using WMI and CIM
Lab : Working with WMI and CIM
Querying Information by Using WMI
Querying Information by Using CIM
Invoking Methods
After completing this module, students will be able to:
Explain the differences between WMI and CIM
Query management information by using WMI and CIM
Invoke methods by using WMI and CIM

Module 7: Preparing for Scripting

This module prepares students for writing scripts with Windows PowerShell, covering the Windows PowerShell security model and the use of variables.

Using Variables
Scripting Security
Lab : Working with Security in Windows PowerShell
Configure Security
After completing this module, students will be able to:
Create, use, and manage variables
Configure shell scripting security

Module 8: Moving From a Command to Script to Module
This module shows students how to take a command that runs well in the console and turn it into a parameterized, reusable script, and how to evolve that script into a standalone script module. Students will learn the foundations needed to create their own reusable tools.

Moving From Command to Script
Moving From Script to Function to Module
Implementing Basic Error Handling
Using Basic Scripting Constructs
Exploring Other Scripting Features
Lab : Moving From Command to Script
Test the Command
Parameterize Changing Values
Add Verbose Output
Add Comment-Based Help
Lab : Moving From Script to Function to Module
Convert the Script to a Function
Save the Script as a Script Module
Add Debugging Breakpoints
Lab : Implementing Basic Error Handling
Add Error Handling to a Function
Add Error Handling to a New Function
Lab : Creating an Advanced Function
Test an Existing Command
Create a Parameterized Function
Handle Multiple Targets
Add Error Handling
After completing this module, students will be able to:
Move from Command to Script
Move from Script to Function to Module
Implement basic error handling
Implement basic scripting constructs
Explain additional advanced Windows PowerShell scripting features

Module 9: Administering Remote Computers
This module explains Windows PowerShell remoting, and shows students how to configure and use remoting to manage multiple remote computers.

Using Basic Remoting
Using Advanced Remoting Techniques
Using Remoting Sessions
Lab : Using Basic Remoting
Enable Remoting on the Local Computer
Performing One-to-One Remoting
Performing One-to-Many Remoting
Lab : Using Remoting Sessions
Using Implicit Remoting
Multicomputer Management
After completing this module, students will be able to:
Describe remoting architecture and security, manually enable remoting, and use remoting for one-to-one and one-to-many connections
Pass local variables to remote computers
Create and manage persistent remoting sessions, and use implicit remoting

Module 10: Putting it All Together
This module offers students an opportunity to use everything they have learned so far. Students will discover, learn, and run commands that perform a complex, real-world administrative task.

Provisioning a New Server Core Instance
Lab : Provisioning a New Server Core Installation
Create a Parameterized Script
Get the Dynamic IP Address of the New Server Core Computer
Create a DHCP Reservation for the Server Core Instance
Modify the Local TrustedHosts List
Add a Role to the Server Core Instance
Add the Server Core Instance to the Domain
Test the Completed Script
After completing this module, students will be able to:
Plan your Windows PowerShell Script
Configure Server Core computers using Windows PowerShell

Module 11: Using Background Jobs and Scheduled Jobs
In this module students will learn to create and manage background jobs and scheduled jobs.

Using Background Jobs
Using Scheduled Jobs
Lab : Using Background Jobs
Starting Jobs
Managing Jobs
Lab : Using Scheduled Jobs
Creating a Scheduled Job
After completing this module, students will be able to:
Create and manage Background Jobs
Create and manage Scheduled Jobs

Module 12: Using Profiles and Advanced PowerShell Techniques
This module covers a variety of additional advanced Windows PowerShell features and techniques including additional comparison operators, use of alternate credentials, creation of profile scripts, manipulation of strings and date objects.

Using Advanced PowerShell Techniques
Creating Profile Scripts
Working With Alternative Credentials
Lab : Practicing Advanced Techniques
Using Advanced Techniques
Using Alternative Credentials
Create a Profile Script
After completing this module, students will be able to:
Manipulate data and objects by using advanced techniques and operators
Create and manage profile scripts
Connect to remote computers by using alternative credentials


This course is intended for IT Professionals already experienced in general Windows Server and Windows Client administration or already experienced in administering and supporting Application servers and services including applications like Exchange, SharePoint, and SQL. It is broadly intended for students who want to use Windows PowerShell to automate administrative tasks from the command line, using any Microsoft or independent software vendor (ISV) product that supports Windows PowerShell manageability.

This course is not intended to be a scripting or programming course, and includes only basic coverage of scripting and programming topics. Students are not expected to have prior scripting or programming experience, and are not expected to have prior Windows PowerShell experience

Before attending this course, students must have:

  • Previous Windows Server and Windows Client management knowledge and hands on experience.

  • Experience installing and configuring Windows Server into existing enterprise environments, or as standalone installations.

  • Knowledge and experience of network adapter configuration, basic Active Directory user administration, and basic disk configuration.

  • Knowledge and hands on experience specifically with Windows Server 2012/Windows Server 2012 R2 and Windows 8/Windows 8.1 would be of benefit but is not essential.

Available Course Dates

08/28/2017 11:00 am - 09/01/2017 7:00 pm
10/02/2017 11:00 am - 10/06/2017 7:00 pm
11/27/2017 11:00 am - 12/01/2017 7:00 pm
12/11/2017 11:00 am - 12/15/2017 7:00 pm
Click here to sign up for this class