10961: Automating Administration with Windows PowerShell

About this course

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.

Audience profile

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

At course completion

After completing this course, students will be able to:

  • Understand the basic concepts behind Windows PowerShell
  • Work with the Pipeline
  • Understand How the Pipeline Works
  • Use PSProviders and PSDrives
  • Format Output
  • Use WMI and CIM
  • Prepare for Scripting
  • Moving From a Command to a Script to a Module
  • Administer Remote Computers
  • Put the various Windows PowerShell components together
  • Use Background Jobs and Scheduled Jobs
  • Use Advanced PowerShell Techniques and Profiles
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.

Module 1:

Getting Started with Windows PowerShell

In this module students will learn a bit about PowerShell’s purpose and history, and will learn the basics of using the shell, including the help system, command syntax, command discovery and more.

Lessons:

  • Overview and Background
  • Finding and Running Commands

Lab: Configuring Windows PowerShell
Lab: Finding and Running Basic Commands

After completing this module, students will be able to:
  • Understand Windows PowerShell basic concepts
  • Find and Run basic Windows PowerShell commands

Module 2:

Working with the Pipeline

In this module students will learn to use PowerShell’s pipeline, along with a number of new commands, to start retrieving, manipulating, and displaying data. An emphasis is placed on proper syntax and form.

Lessons:

  • Working with the Pipeline
  • Exporting, Importing and Converting Data
  • Filtering Objects Out of the Pipeline
  • Enumerating Objects in the Pipeline

Lab: Working with the Pipeline
Lab: Exporting, Importing and Converting Data
Lab: Filtering Objects Out of the Pipeline
Lab: Enumerate Objects in the Pipeline

After completing this module, students will be able to:
  • Work with the Pipeline
  • Export, Import and Convert data
  • Filter Objects out of the Pipeline
  • Enumerate Objects in the Pipeline

Module 3:

Understanding How the Pipeline Works

In this module students will learn the underlying details of how commands are passed from one command to another in the pipeline. Having seen it in action, they’ll now get to see some of the theory under the hood. The emphasis will be in the ByValue and ByPropertyName techniques, with demonstrations that illustrate effective uses of each. Students will also learn techniques that can be used in lieu of pipeline binding, for when such binding is unavailable or ineffective.

Lessons:

  • Passing Data in the Pipeline ByValue
  • Passing Data in the Pipeline ByPropertyName

Lab: Working with Pipeline Parameter Binding

After completing this module, students will be able to:
  • Pass Data in the Pipeline ByValue
  • Pass Data in the Pipeline ByPropertyName

Module 4:

Using PSProviders and PSDrives

In this module students will learn about PSProviders and PSDrives, and learn to use –Item* commands to manipulate items within a PSDrive.

Lessons:

  • Understanding PSProviders and PSDrives
  • Using PSDrives

Lab: PSProviders and PSDrives

After completing this module, students will be able to:
  • Use PSProviders and PSDrives

Module 5:

Formatting Output

In this module students will learn to manipulate command output to create customized on-screen, text file, and hardcopy results

Lessons:

  • Using Basic Formatting
  • Using Advanced Formatting
  • Redirecting Formatted Output

Lab: Formatting Output

After completing this module, students will be able to:
  • Use Basic Formatting
  • Use Advanced Formatting
  • Redirect Formatted Output

Module 6:

Using WMI and CIM

In this module students will learn to use Windows Management Instrumentation / Common Information Model (WMI/CIM) to retrieve, and in some cases, modify management information about local and remote computers.

Lessons:

  • Understanding WMI/CIM
  • Querying Data with WMI/CIM
  • Making Changes with WMI/CIM

Lab: Working with WMI and CIM

After completing this module, students will be able to:
  • Understand WMI/CIM
  • Query Data with WMI/CIM
  • Make Changes with WMI/CIM

Module 7:

Prepare for Scripting

In this module students will learn about pre-requisite features to writing PowerShell scripts, including variables and PowerShell’s scripting security features.

Lessons:

  • Using Variables
  • Scripting Security
  • Working with Alternate Credentials

Lab: Working with Security in PowerShell

After completing this module, students will be able to:
  • Use Variables
  • Script Security
  • Work with Alternate Credentials

Module 8:

Moving From a Command to a Script to a Module

In this module students will learn to take a command that runs well in the console, and turn it into a reusable script. A number of important concepts, such as error handling, will be introduced – but not explored in extreme depth. Students will be taught enough to be “immediately effective” with these concepts, but not given an exhaustive education. The point is to get them started in an effective fashion using best practices, and to give them a basis for further independent exploration.

Lessons:

  • Moving From Command to Script
  • Moving From Script to Function to Module
  • Implementing Basic Error Handling
  • Using Basic Scripting Constructs
  • Further Exploration in Scripting

Lab: Moving From Command to Script
Lab: Moving From Script to Function to Module
Lab: Implementing Basic Error Handling
Lab: Adding Logic to a Script

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
  • Use Basic Scripting Constructs
  • Understand Advanced functions and Scripting Constructs

Module 9:

Administering Remote Computers

In this module students will learn how to configure and use PowerShell Remoting

Lessons:

  • Using Basic Remoting
  • Using Remote Sessions
  • Using Remoting for Delegated Administration

Lab: Working with Remoting
Lab: Working with PSSessions
Lab: Remoting for Delegated Administration

After completing this module, students will be able to:
  • Use Basic Remoting
  • Use Remote Sessions
  • Use Remoting for Delegated Administration

Module 10:

Putting it All Together

In this module students will utilize much of what they’ve learned to this point in a practical, from-scratch-exercise to configure a newly-installed Server Core computer.

Lessons:

  • Planning the Script

Lab: Configuring a New Server Core Installation

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.

Lessons:

  • Using Background Jobs
  • Using Scheduled Jobs

Lab: Working with Background Jobs
Lab: Working with Scheduled Jobs

Module 12:

Using Advanced PowerShell Techniques and Profiles

In this module students will learn several additional techniques and feature of Windows PowerShell.

Lessons:

  • Using Advanced PowerShell Techniques
  • Creating Profile Scripts

Lab: Practicing Advanced Techniques

After completing this module, students will be able to:
  • Use Advanced PowerShell Techniques
  • Create Profile Scripts