This course provides students with the knowledge and skills to utilise Windows PowerShell for administering and automating administration of Windows based servers.
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.
- Explain how Windows PowerShell works
- Use Windows PowerShell as an interactive, command-line shell
- Use Core Windows PowerShell cmdlets for everyday purpose
- Customise the output using Windows PowerShell Formatting Subsystem
- Explain what Windows Management Instrumentation (WMI) is and how it can be used from Windows PowerShell
- Manage Active Directory objects using Windows PowerShell cmdlets
- Write basic Windows PowerShell scripts that execute batches of commands
- Work with Windows PowerShell's background jobs and remote administration functionality.
- Master the scripting language of Windows PowerShell
- Use advanced techniques related to structured programming within Windows PowerShell
- Automate Windows Server 2008 R2 Administration using Windows PowerShell
- Identify the best practices for working with Windows PowerShell
Module 1: Fundamentals for Using Windows PowerShell v2
This module provides background on Windows PowerShell v2 and where it fits into the Windows technology family. It also covers installation and configuration of Windows PowerShell. It familiarises students with the interactive shell console, and shows how to operate and interpret the built-in help system. This module focuses on shell's discoverability features, including the online help system and cmdlet inventory. Finally, this module describes how the Windows PowerShell pipeline works at a basic level.
- Windows PowerShell Technology Background and Overview
- Windows PowerShell as an Interactive Command-Line Shell
- Using the Windows PowerShell Pipeline
- Lab : Using Windows PowerShell as an Interactive Command-Line Shell
- Searching for text files.
- Browsing the registry.
- Discovering additional commands and viewing help.
- Adding additional commands to your session.
- Formatting output.
- Lab : Using the Windows PowerShell Pipeline
- Stopping and restarting a Windows service.
- Exploring objects returned by PowerShell commands.
- Processing PowerShell output.
Module 2: Core Windows PowerShell Cmdlets
This module describes several core cmdlets that are used in many different administrative tasks. This module also covers the basics of filtering objects that are in the PowerShell pipeline. It explains advanced pipeline techniques including pipeline parameter binding and in-pipeline object manipulation.
- Core Cmdlets for Everyday Use
- Comparison Operators, Pipeline Filtering, and Object Enumeration
- Advanced Pipeline Techniques
- Lab : Using the Core Cmdlets
- Sorting and selecting objects
- Retrieving objects remotely and saving to a file
- Comparing objects with XML
- Saving objects to a CSV file
- Measuring a collection of objects
- Exporting a collection of objects to a text file
- Lab : Filtering and Enumerating Objects in the Pipeline
- Comparing numbers (integer objects)
- Comparing string objects
- Retrieving processes from a computer
- Retrieving services from a computer
- Iterating through a list of objects
- Lab : Using Pipeline Parameter Binding
- Using advanced pipeline features
- Binding properties to parameters
- Working with multiple computers
- Stopping a list of processes
- After completing this module, students will be able to:
- Identify Core Cmdlets for Everyday Use.
- Explain Comparison Operators, Pipeline Filtering, and Object Enumeration
- Apply Advanced Pipeline Techniques.
Module 3: Understanding and Using the Formatting System
This module explains how the PowerShell formatting subsystem works, and shows how to customise the output of cmdlets. It covers the rules that the shell follows for formatting objects by default, and explains how to use the four formatting cmdlets - and their parameters - to customise and control the output displayed on-screen or written to a file, printer, or other output destination.
- Understanding the Formatting System
- Using the Formatting System
- Lab : Using the Formatting Subsystem
- Displaying calculated properties
- Displaying a limited number of columns
- Displaying all properties and values of objects
- Viewing objects via HTML
- Displaying a limited number of properties
- Displaying objects using different formatting
- Displaying a sorted list of objects
After completing this module, students will be able to:
- Explain the Formatting System.
- Use the Formatting System.
Module 4: Windows Management Instrumentation
This module explains what Windows Management Instrumentation (WMI) is, how it works, and how it can be used from within Windows PowerShell. It describes the structure and security of WMI, and how to query WMI information both from local and remote computers. It also explains 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.
- Windows Management Instrumentation Overview
- Using Windows Management Instrumentation
- Advanced WMI Techniques
- Lab : Using WMI in Windows PowerShell
- Building computer inventory
- Discovering the WMI classes and namespaces
- Generating a logical disk report for all computers
- Listing local users and groups
- Lab : Using Advanced WMI Techniques
- Learning about WMI class capabilities
- Changing properties and state on a remote service using WMI
- Looking up and storing remote security event log information
- Remotely checking hard disk integrity
- Monitoring WMI events
- Looking up static IP addresses on all computers
Module 5: Automating Active Directory Administration
This module introduces the concept of Active Directory administrative automation. It explains how to retrieve, create, modify, move, and remove objects in the Active Directory. It focuses on PowerShell-centric techniques rather than scripting, and heavily leverages on basic and advanced pipeline techniques covered in previous modules.
- Active Directory Automation Overview
- Managing Users and Groups
- Managing Computers and Other Directory Objects
- Lab : Managing Users and Groups
- Retrieving a filtered list of users from Active Directory
- Resetting user passwords and address information
- Disabling users that belong to a specific group
- Browsing Active Directory using the AD drive and moving a user to a new Organisational Unit
- Lab : Managing Computers and Other Directory Objects
- Listing all computers that appear to be running a specific operating system according to Active Directory information
- Creating a report showing all Windows Server 2008 R2 servers
- Managing fine-grained password policies in Active Directory
- Discovering Organisational Units that are not protected against accidental deletion
Module 6: Windows PowerShell Scripts
This module introduces basic Windows PowerShell scripts that execute a batch of shell commands in a single operation. It points out the security concerns associated with scripting, and how to configure and control the shell's security settings that relate to scripting. It also explains how to write basic scripts that execute batches of commands, and how to parameterise scripts in order to make them more flexible in a variety of situations.
- Script Security
- Basic Scripts
- Parameterised Scripts
- Lab : Writing Windows PowerShell Scripts
- Executing scripts
- Using positional script parameters
- Using named script parameters
Module 7: Background Jobs and Remote Administration
This module explains how to work with Windows PowerShell's background jobs and remote administration functionality. It shows how to create, monitor, and manage local background jobs, and receive results from completed jobs. It also covers how to configure Windows PowerShell remoting both locally and in a domain environment. This module describes how to create and manage session connections to remote computers, and explain how to use those session connections in one-to-one remote shell instances as well as one-to-many remote command invocation. Finally, it shows how to invoke remote commands as background jobs, and how to manage those jobs and receive results from them.
- Working with Background Jobs
- Using Windows PowerShell Remoting
- Lab : Working with Background Jobs
- Using background jobs with WMI
- Using background jobs for local computers
- Receiving the results from a completed job
- Removing a completed job
- Waiting for a background job to complete
- Stopping a background job before it completes
- Working with the properties of a job
- Lab : Using Windows PowerShell Remoting
- Interactive remoting
- Fan-out remoting
- Fan-out remoting using background jobs
- Saving information from background jobs
Module 8: Intermediate Scripting
This module explains the concepts and techniques related to structured scripting and programming within Windows PowerShell. It describes how to create, manage, and use variables. It also introduces the complete "scripting language" of Windows PowerShell, which consists of several programming constructs.
- Variables, Arrays, Escaping, and More Operators
- What is Scope?
- Scripting Constructs
- Lab : Using Variables and Arrays
- Creating variables and interact with them
- Understanding arrays and hashtables
- Using Single- and double-quoted strings and the backtick
- Using Arrays and array lists
- Using 'Contains', 'like', and 'equals' operators
- Lab : Using Scripting Constructs
- Processing and validating input
- Working with For, While, ForEach, and Switch
- Exploiting the power of the one-liner
Module 9: Error Handling, Debugging, and Modularisation
This module covers advanced topics and techniques related to structured programming within Windows PowerShell. It explains how to trap and handle errors that occur during script execution, and also describes the proper techniques and practices for debugging a script that is not executing as expected. It also shows how to modularise scripts into a variety of reusable functions, with the ultimate goal of producing a function that mimics the structure of a shell cmdlet.
- Error Trapping and Handling
- Debugging Techniques
- Lab : Error Trapping and Handling
- Retrieving error information
- Handling errors
- Integrating error handling
- Lab : Debugging a Script
- Debugging from the Windows PowerShell console
- Debugging using the Windows PowerShell ISE
- Lab : Modularisation
- Generating an inventory audit report
- Testing network performance
Module 10: Automating Windows Server 2008 R2 Administration
This module gives an opportunity to complete several real-world administration tasks related to Windows Server 2008 R2. It provides minimal instruction in how to use the cmdlets and techniques required to accomplish the lab portion of this module; instead, it lets students rely on the skills they have learned in the preceding modules of this course.
- Windows Server 2008 Modules Overview
- Server Manager Cmdlets Overview
- Group Policy Cmdlets Overview
- Troubleshooting Pack Overview
- Best Practices Analyser Cmdlets Overview
- IIS Cmdlets Overview
- Lab : Using the Server Manager Cmdlets
- Listing all currently installed features
- Comparing objects
- Installing a new server feature
- Removing a server feature
- Exporting current configuration to XML
- Lab : Using the Group Policy Cmdlets
- Listing all the Group Policy Objects in the domain
- Creating a text-based report
- Creating an HTML report
- Taking Backup of all Group Policy Objects
- Lab : Using the Troubleshooting Pack Cmdlets
- Importing the Troubleshooting Pack module
- Solving an end-user problem interactively
- Solving a problem using answer files
- Lab : Using the Best Practice Analyser Cmdlets
- Importing the Best Practice module
- Viewing existing models
- Running a Best Practices scan
- Lab : Using the IIS Cmdlets
- Importing the IIS module
- Creating a new web site
- Backing up IIS
- Modifying web site bindings
- Using the IIS PSDrive
- Restoring an IIS Configuration
Module 11: Advanced Windows PowerShell Tips and Tricks
This module introduces several advanced Windows PowerShell techniques. While these techniques do not contribute directly to any particular business goal, they do enable more efficient use of the shell itself, which leads to more efficient administration and automation. It shows how to use profiles to consistently configure the shell environment, and how to use several techniques for effectively re-using and sharing existing modularised scripts. It also points out best practices and techniques related to script documentation.
- Using Profiles
- Re-Using Scripts and Functions
- Writing Comment-Based Help
- Lab : Advanced PowerShell Tips and Tricks
- Writing a profile script
- Creating a script module
- Adding help information to a function
Module 12: Practical Administrative Automation
This module allows students to practice all of the skills they have learned in this course in a series of practical, real-world tasks. These tasks will require students to use everything they have learned in this course, including the ability to discover new cmdlets and learn how they work - without using external references. This module is intended to serve as a form of "confidence course," enabling students to prove to themselves that they can return to their work environment and begin accomplishing tasks in Windows PowerShell without further instruction.
- Practical Lab Overview
- Further Exploration
- Lab : New User Provisioning
- Creating an Active Directory user account
- Adding users to security groups
- Creating a home folder
- Copying files to the home folder
- Creating IIS virtual directories
- Automating Workflow
- 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.