AmeriTeach - Microsoft IT TrainingMicrosoft Partner Gold Learning 

 

 

Automating Administration with Windows Powershell v2.0

Course 10325: Five days; Instructor-Led

 

Audience Profile     

This course is intended for IT Professionals already experienced in general Windows Server and Windows Client administration, including Active Directory administration. No prior experience with any version of Windows PowerShell, or any scripting language, is assumed.  Most students will already have a Windows Server 2008 Technical Specialist certification or equivalent knowledge.

Targeted Windows Server Technical Specialists (administrators) are responsible for hands-on deployment and day-to-day management of Windows-based servers and Windows-based client computers for enterprise organizations. These administrators manage file and print servers, network infrastructure servers, Web servers, and IT application servers, as well as supporting client computers. They use graphical administration tools as their primary interface but want to use Windows PowerShell cmdlets and write PowerShell scripts for routine tasks and bulk operations. They conduct most server management tasks remotely by using Remote Desktop, Server Manager, or other administration tools installed on their local workstation.

Course Prerequisites

In addition to their professional experience, students who attend this training should have the following technical knowledge:

·         Experience with Windows networking technologies and implementation.

·         Experience with Windows Server administration, maintenance, and troubleshooting

·         Experience with Active Directory technologies and implementation, including Group Policy.

·         Experience with Windows Server 2008 Web application server technologies and implementation.

Course Outline

Module 1: Fundamentals for Using Windows PowerShell v2

Module Goal: The goal of this module is to teach the students how Windows PowerShell works, and how to use Windows PowerShell as an interactive, command-line shell. This module provides background on Windows PowerShell v2 and where it fits into the Windows technology family. This module also covers installation and configuration of Windows PowerShell. This module familiarizes students with the interactive shell console, and shows students how to operate and interpret the built-in help system. This module focuses on helping students understand and make use of the shell’s discoverability features, including the online help system, cmdlet inventory, and so on. Finally, this module teaches students how the Windows PowerShell pipeline works at a basic level, including piping objects from one cmdlet to the next and basic formatting of cmdlet output.

Lesson 1: Windows PowerShell Technology Background and Overview

 

Lesson 2: Windows PowerShell as an Interactive Command-Line Shell

 

Lesson 3: Using the Windows PowerShell Pipeline

 

Labs

 

Module 1 Lab A: Using Windows PowerShell as an Interactive Command-Line Shell

 

Lab Goal: To familiarize students with the basic use of Windows PowerShell’s console environment.

 

Lab Objective(s):

 

Use cmdlets or aliases to perform file and folder management tasks commonly performed in Windows Explorer

Use cmdlets or aliases to perform file- and folder-like management tasks for storage systems other than the file system

Display help for a given cmdlet and identify optional, required, and positional parameters; display up-to-date help for the same cmdlet from the Internet

Extend the shell by importing a module, and identify new cmdlets or functions added by that module

List cmdlets that have a specified keyword in their name

Run basic cmdlets, with and without parameters, and convert their output to three basic output formats



 

 

 

Module 1 Lab B: Using the Windows PowerShell Pipeline

 

Lab Goal: To familiarize students with the Windows PowerShell pipeline and its basic uses.

 

Lab Objective(s):

Accomplish tasks by piping objects from one cmdlet to another

Discover object capabilities by viewing members of an object or collection of objects

Direct cmdlet output to locations other than the console screen

 

 

Module 2: Core Windows PowerShell Cmdlets

Module Goal: The goal of this module is to teach the students several core cmdlets that are used in many different administrative tasks. This module will also teach students the basics of comparing objects to one another, for the purpose of filtering objects that are in the PowerShell pipeline. Students will also learn advanced pipeline techniques, particularly pipeline parameter binding and in-pipeline object manipulation.

Lesson 1: Core Cmdlets for Everyday Use

 

Lesson 2: Comparison Operators, Pipeline Filtering, and Object Enumeration
Duration: 45 minutes

 

Lesson 3: Advanced Pipeline Techniques

 

Labs

 

Module 2 Lab A: Using the Core Cmdlets

 

Lab Goal: To use many of the core cmdlets, including Sort-Object, Measure-Object, Select-Object, Import/Export-CSV, Import/Export-CliXML, and Compare-Object.

 

 

Lab Objective(s):

Sort, select properties from, export, import, measure, and compare objects in the pipeline.

Export objects to various formats, including delimited files, XML files, and columnar-formatted text files.

 



 

Module 2 Lab B: Filtering and Enumerating Objects in the Pipeline

 

Lab Goal: To use filtering and object enumeration to manipulate objects in the pipeline. Also, to identify when filtering should be accomplished by Where-Object, and when it should be accomplished by using a filtering option on a cmdlet further to the left in the command pipeline.

 

 

Lab Objective(s):

Write comparisons using PowerShell comparison operators

Filter objects out of the pipeline.

Write cmdlets that retrieve a filtered set of objects.

Enumerate objects in the pipeline and peform an action with each one independently.

 

 

Module 2 Lab C: Using Pipeline Parameter Binding

 

Lab Goal: To use pipeline parameter binding to execute complex commands that take much of their input from the previous command’s output, rather than solely from parameters.

 

 

Lab Objective(s):

Pipe objects through a chain of cmdlets to accomplish complex, multi-step administrative tasks

Modify objects in the pipeline to facilitate pipeline parameter binding

 

 

Module 3: The Windows PowerShell Formatting Subsystem

Module Goal: The goal of this module is to teach students how the PowerShell formatting subsystem works, and how they can manipulate to customize the output they see. Students will learn the rules that the shell follows for formatting objects by default, and learn how to use the four formatting cmdlets – and their parameters – to customize and control the output displayed on-screen or written to a file, printer, or other output destination.

Lesson 1: Understanding the Formatting Subsystem

 

Lesson 2: Using the Formatting Subsystem

 

 

Module 3 Lab A: Using the Formatting Subsystem

 

Lab Goal: To format cmdlet output in various views. Also, to add custom fields to output, such as calculated columns in a table.

 

 

Lab Objective(s):

Customize cmdlet output by using Windows PowerShell formatting cmdlets.

 

Module 4: Windows Management Instrumentation

Module Goal: The goal of this module is to teach students what Windows Management Instrumentation (WMI) is, how it works, and how it can be used from within Windows PowerShell. Students will learn about the structure and security of WMI, and how to query WMI information both from local and remote computers. Students will also learn how to invoke WMI methods to accomplish configuration changes and other tasks, and how to write commands that respond to WMI events triggered by the operating system.

Lesson 1: Windows Management Instrumentation Overview

 

Lesson 2: Using Windows Management Instrumentation

 

Lesson 3: Advanced Windows Management Instrumentation Techniques

 

Labs

 

Module 4 Lab A: Using Windows Management Instrumentation in Windows PowerShell

 

Lab Goal: To retrieve management information from local and remote computers using WMI.

 

Lab Objective(s):

Retrieve management information by using WMI

Use a remote computer’s WMI service to filter management object instances before transmitting it over the network.

 



 

 

Module 4 Lab B: Using Advanced Windows Management Instrumentation Techniques

 

Lab Goal: To reconfigure computers using WMI methods and to respond to near-real-time events using WMI events.

 

Lab Objective(s):

Execute WMI methods on the local and on remote computers.

Register for WMI events, execute commands in response to events, and remove WMI event registrations.

 

Module 5: Automating Active Directory Administration

Module Goal: The goal of this module is to introduce students to Active Directory administrative automation. Students will learn to retrieve, create, modify, move, and remove objects in the directory, particularly user, group, and computer objects. Students will focus on PowerShell-centric techniques rather than scripting, and will heavily leverage basic and advanced pipeline techniques learned in previous modules.

Lesson 1: Active Directory Automation Overview


Lesson 2: Managing Users and Groups

 

Lesson 3: Managing Computers and Other Directory Objects

 

Module 5 Lab A: Managing Users and Groups

Duration: 30 minutes

 

Lab Goal: To utilize Active Directory cmdlets to manage users and groups.

 

Lab Objective(s):

Retrieve directory objects based on simple and complex criteria

Modify user objects in the directory, including modifying attributes, enabling or disabling objects, and resetting account passwords.

Move objects in the directory

 

 

Module 5 Lab B: Managing Computers and Other Directory Objects

Duration: 20 minutes

 

Lab Goal: To utilize Active Directory cmdlets to manage computers and other directory objects.

 

 

Lab Objective(s):

Retrieve directory objects based on simple and complex criteria

Manipulate directory objects for reporting purposes

 

 

Module 6: Windows PowerShell Scripts

Module Goal: The goal of this module is to introduce students to basic Windows PowerShell scripts that execute a batch of shell commands in a single operation. Students will learn about the security concerns associated with scripting, and how to configure and control the shell’s security settings that relate to scripting. Students will learn to write basic scripts that execute batches of commands, and how to parameterize scripts in order to make them more flexible in a variety of situations.

Lesson 1: Script Security

Lesson 2: Basic Scripts

 

Lesson 3: Parameterized Scripts

 

Module 6 Lab: Writing Windows PowerShell Scripts

Duration: 30 minutes

 

Lab Goal: To configure shell execution policy and create one or more scripts that include one or more commands.

 

 

Lab Objective(s):

Move frequently-run commands into a script

Parameterize hardcoded values to make scripts more flexible

Run parameterized scripts using named and positional parameters.

 

Module 7: Background Jobs and Remote Administration

Module Goal: The goal of this module is to teach students how to work with Windows PowerShell’s background jobs and remote administration functionality. Students will learn how to create, monitor, and manage local background jobs, and to receive results from completed jobs. Students will also learn how to configure Windows PowerShell remoting both locally and in a domain environment. This module will teach students how to create and manage session connections to remote computers, and teach students how to use those session connections in one-to-one remote shell instances as well as one-to-many remote command invocation. Students will learn how to invoke remote commands as background jobs, and how to manage those jobs and receive results from them.

Lesson 1: Working with Background Jobs

 

Lesson 2: Using Windows PowerShell Remoting

 

Module 7 Lab A: Working with Background Jobs

Duration: 30 minutes

 

Lab Goal: To use the background job infrastructure and cmdlets in Windows PowerShell v2.

 

Lab Objective(s):

 

Create, monitor, and manage background jobs

Receive data from completed jobs

Start jobs that use WMI to retrieve information from multiple computers

 



 

 

Module 7 Lab B: Using Windows PowerShell Remoting

Duration: 45 minutes

 

Lab Goal: To use Windows PowerShell remoting to accomplish administrative tasks on remote computers.

 

 

Lab Objective(s):

Configure WinRM and Windows PowerShell remoting

Use one-to-one interactive remote shell remoting

Use one-to-many remote command invocation

Invoke remote commands as a background job; receive the results from the entire job or from a single child job

 

Module 8: Intermediate Scripting

Module Goal: The goal of this module is to teach students the concepts and techniques related to structured scripting and programming within Windows PowerShell. Students will learn to create, manage, and use variables. Students will also learn the complete “scripting language” of Windows PowerShell, which consists of several programming constructs.

Lesson 1: Variables, Arrays, Escaping, Scope, and More Operators

 

Lesson 2: Scripting Constructs

 

 

Module 8 Lab A: Using Variables and Arrays

Duration: 30 minutes

 

Lab Goal: To create, manage, and remove variables, and to access individual elements of array/collection variables.

 

 

Lab Objective(s):

Create, modify, and remove variables from the current scope

Demonstrate how variables work within the scope hierarchy

Make comparisons using –like and –contains

Assign collections of objects to variables and access individual objects from within the variables

Create an array by using a comma-separated list

Create and use hashtables

 


Module 8 Lab B: Using Scripting Constructs

Duration: 30 minutes

 

Lab Goal: To write scripts that utilize logical decision-making and repetition, using the scripting constructs in Windows PowerShell.

 

 

Lab Objective(s):

 

Use Windows PowerShell scripting statements and constructs, including If…ElseIf…Else, For, Switch, ForEach, Do/Until/Loop, and break

Rewrite structured scripts as a single Windows PowerShell command pipeline

 

Module 9: Error Handling, Debugging, and Modularization

Module Goal: The goal of this module is to teach students advanced topics and techniques related to structured programming within Windows PowerShell. Students will learn to trap and handle errors that occur during script execution, and will learn the proper techniques and practices for debugging a script that is not executing as expected. Students will also learn how to modularize scripts into a variety of reusable functions, with the ultimate goal of producing a function that mimics the structure of a shell cmdlet.

Lesson 1: Variables, Arrays, Escaping, and More Operators

 

Lesson 2: Debugging Techniques

 

Lesson 3: Modularization

 

Labs

 

Module 9 Lab A: Error Trapping and Handling

 

Lab Objective(s):

 

Trap and handle errors using Try…Catch…Finally and Trap constructs.

Modify cmdlet error behavior by using the $ErrorActionPreference variable and –ErrorAction parameter.

Capture cmdlet errors by using the –ErrorVariable parameter

 



 

 

Module 9 Lab B: Debugging a Script

 

Lab Goal: To debug provided scripts by using the debugging techniques discussed in the module.

 

 

Lab Objective(s):

Debug scripts by using Write-Debug, breakpoints, and the interactive step debugger.



 

Module 9 Lab C: Modularization

 

Lab Goal: To create a function that accepts pipeline input and generates pipeline output.

 

 

Lab Objective(s):

Write filtering functions that accept pipeline input and/or produce objects as pipeline output.

 

Module 10: Automating Windows Server 2008 R2 Administration

Module Goal: The goal of this module is to have students complete several real-world administration tasks related to Windows Server 2008 R2. Students will receive minimal instruction in how to use the cmdlets and techniques required to accomplish the lab portion of this module; instead, students will be introduced to the necessary PowerShell modules, and will then rely on the skills that have learned in the preceding modules of this course.

Lesson 1: Windows Server 2008 R2 Modules Overview


Lesson 2: Server Manager Cmdlets Overview

 

Lesson 3: Group Policy Cmdlets Overview

 

Module 10 Lab A: Using Windows Server 2008 R2 Modules

 

Lab Goal: To familiarize the student with PowerShell modules in Windows Server 2008 R2 and give them experience in typical management tasks using not only the module cmdlets, but core PowerShell cmdlets as well.

 

 

 

Lab Objective(s):

Import modules into the shell

Identify cmdlets within a module

Use R2 modules to accomplish basic administrative tasks.

Use R2 cmdlets and core PowerShell cmdlets in a pipelined expression.

 

Module 10 Lab B: :  Using the Group Policy Cmdlets

 

Lab Goal: To give students experience in typical management tasks using Group Policy cmdlets

 

 

 

Lab Objective(s):

 List all the Group Policy Objects in the domain.

Create a text-based report

Create an HTML report

Backup all Group Policy Objects.

 

 

 
 

 

For more information call 720.346.1710 or visit:

www.ameriteach.com

7800 E. Dorado Place, Greenwood Village, CO 80111