About this Course
This four-day instructor-led course provides students with the knowledge and skills to leverage Microsoft Windows PowerShell v2 to administer their Windows environment. Both the command line environment and the scripting capabilities inherent in Microsoft’s automation engine are addressed during this hands-on course.
Audience Profile
This course is intended for systems administrators responsible for managing Windows platforms who are interested in automating administrative tasks.
Prerequisites
Before attending this course, students must have:
- Experience managing Windows operating systems.
- Familiarity with Windows Server 2008, Windows Server 2008 R2, or Windows 7.
Scripting experience is recommended but not required.
At Course Completion
After completing this course, students will be able to:
- Install and configure PowerShell v2 on various Windows operating systems.
- Navigate the command line interface as well as the integrated scripting environment.
- Leverage cmdlets to accomplish daily management tasks.
- Format information returned by PowerShell v2 in a variety of styles.
- Create PowerShell v2 scripts to automate routine tasks.
- Manage multiple systems concurrently though PowerShell v2 remoting.
- Understand the security capabilities within PowerShell v2 and how to manage them.
- Enhance the management of other Microsoft products by using the skills and general knowledge covered in this course.
Course Outline
Module 1: Introduction to PowerShell – the Basics
This module explains how to install and configure PowerShell. In addition, students will be introduced to many of the concepts of PowerShell, including cmdlets and PowerShell drives.
Lessons
- Lesson 1: What is PowerShell?
- Lesson 2: PowerShell Cmdlets
- Lesson 3: PowerShell Snapins
- Lesson 4: PowerShell Modules
- Lesson 5: PowerShell Remoting
- Lesson 6: Navigating in PowerShell
- Lesson 7: PowerShell Profiles
Lab : Introduction to PowerShell
- Installing PowerShellv2
- Exploring Help
- Working with cmdlets
- Creating a custom profile
- Optional: Reading Registry Data
After completing this module, students will be able to:
- Identify the requirements for running PowerShell.
- Describe PowerShell cmdlets.
- Understand the purpose of snapins and modules.
- Describe the remote management capabilities of PowerShell.
- Reference PowerShell drives and navigate in PowerShell hosts.
- Understand how to customize the PowerShell environment through profiles.
Module 2: The PowerShell Pipeline, Scripts and Syntax
This module explains how to use the PowerShell pipeline at the command line and in script files. It provides information on retrieving information on the properties and methods of objects. The module closes with information on command line syntax, managing output from cmdlets, and defining script blocks.
Lessons
- Lesson 1: Pipelines
- Lesson 2: Scripts
- Lesson 3: Syntax, Output and Script Blocks
Lab : The PowerShell Pipeline, Scripts and Syntax
- Working with the PowerShell Pipeline
- Using continuation characters for command line scripts
- Create a command line script
- Working with Operators
After completing this module, students will be able to:
- Define the PowerShell pipeline.
- Identify what the pipeline is used for.
- Use object properties and methods.
- Identify various components of statement syntax.
Module 3: Variables and Data Types, Variable Scopes, and Collections
This module explains how to use cmdlets associated with variables. addresses how PowerShell interprets variables based on their content. It reviews the common data types and how to control variable data types. It looks into the scope of the variable itself and finishes with using arrays.
Lessons
- Lesson 1: Variables and Data Types
- Lesson 2: Variable Scopes
- Lesson 3: Collections
Lab : Variables and Data Types, Variable Scopes, and Collections
- Working with variables and data types
- Working with arrays
- Working with hash tables
After completing this module, students will be able to:
- Describe how PowerShell interprets variables.
- Identify common data types.
- Describe the different variable scopes.
- Understand how to work with collections of objects.
Module 4: Security
This module explains how identify and configure script execution policies. It includes information on securing script files through the use of certificates as well as how to capture and use alternate credentials when executing commands. The module ends with a discussion on securing remote sessions.
Lessons
- Lesson 1: Script Execution
- Lesson 2: Signing Scripts
- Lesson 3: Requesting Credentials and Using Secure Strings
- Lesson 4: Securing Remote Sessions
Lab : Security
- Script Execution
- Signing Scripts
- Requesting Credentials
After completing this module, students will be able to:
- Identify script execution policy settings.
- Control script execution policy through the command line and group policy.
- Request credentials before executing a script.
- Describe commands available to secure information in scripts.
- Identify ways to secure remote sessions.
Module 5: Remote Management
This module explains how use the different methods of executing commands remotely. It covers the requirements for using PowerShell remoting, managing remote sessions, and running background jobs.
Lessons
- Lesson 1: Configuring Remote Management
- Lesson 2: Using PowerShell Remoting
- Lesson 3: Using Jobs
Lab : Remote Management
- Using Built-in Remoting
- Configuring PowerShell Remoting
- Using Persistent Sessions
- Working with Background Jobs
After completing this module, students will be able to:
- Describe the different methods of remote management with PowerShell.
- Identify the requirements for remote management.
- Configure a system for remote management.
- Work with remote sessions.
- Manage background jobs.
Module 6: Script Flow Control Statements
This module explains how use the language elements of PowerShell. It covers the statements for looping, branching, and managing the behavior of those statements through the use of break and continue keywords.
Lessons
- Lesson 1: Foreach and For
- Lesson 2: While / Do While / Do Until
- Lesson 3: If / Switch
- Lesson 4: Break /Continue
Lab : Script Flow Control Statements
- Working with Foreach, If, and Switch
- Using While / Do While / Do Until
After completing this module, students will be able to:
- Identify looping statements.
- Describe the variations between WHILE / DO WHILE / DO UNTIL.
- Describe the differences between IF and SWITCH.
- Identify when you can benefit from BREAK or CONTINUE.
Module 7: Functions, Filters and Modules
This module explains how use the features of PowerShell which allow you to extend its functionality through reusable code. It includes creating robust functions by leveraging parameters and introduces modules which enhance the portability of reusable code.
Lessons
- Lesson 1: Functions and Filters
- Lesson 2: Scripting with Functions and Parameters
- Lesson 3: Modules
Lab : Functions, Filters and Modules
- Creating Functions
- Making Functions with Parameters
- Creating a Simple Module
After completing this module, students will be able to:
- Describe the purpose of a function.
- Identify how to pass arguments into a function.
- Differentiate between a function and a filter.
- Describe how to use functions in a script file.
- Identify types of modules.
Module 8: Error Handling
This module explains how use the error handling environment within PowerShell. It addresses the language components which enhance managing errors. The debugging options within both the console host and the ISE are presented as tools for debugging scripts.
Lessons
- Lesson 1: Error Handling
- Lesson 2: Try / Catch / Finally
- Lesson 3: Script Debugging
Lab : Error Handling
- Managing the Error Environment
- Using Try / Catch / Finally for Error Handling
- Using the ISE for Script Debugging
After completing this module, students will be able to:
- Identify the types of errors.
- Understand the uses of built-in variables for error handling.
- Configure the way errors are treated.
- Use language blocks for handling errors.
- Implement debugging options.
Module 9: Administrative Uses
This module explains how use the topics covered in previous modules in every day administrative tasks. It combines the command line, script files, modules and functions to automate a variety of tasks. It introduces the concepts of advanced scripting which make PowerShell an enterprise-ready scripting environment.
Lessons
- Lesson 1: Manipulating files and folders
- Lesson 2: Modifying Registry Data
- Lesson 3: Working with Events
- Lesson 4: Working with Active Directory Objects
- Lesson 5: Advanced Scripting
Lab : Administrative Uses
- Scripting for the File System
- Scripting Registry Changes
- Scripting for Event Logs
- Scripting for Active Directory
After completing this module, students will be able to:
- Work with files and folders.
- Change information in the registry.
- Read information from event logs.
- Change WMI data.
- Understand how to work with Active Directory.
- Describe advanced scripting features.