M55039: Windows PowerShell Scripting and Toolmaking

5 Day Course
Hands On
Official Microsoft Curriculum
Code M55039

This course has been retired. Please view currently available Microsoft Windows Powershell Training Courses.

Modules

Hide all

Preparing for Scripting (3 topics)

  • Securing the Scripting Environment
  • Understanding Variables and Operators
  • Understanding Scripting Constructs and Scope

Parameterizing a Command (7 topics)

  • Designing Parameters
  • Implementing Parameters
  • Lab: Parameterizing a Command
  • Identify changeable values
  • Declare parameters
  • Use parameters in place of changeable values
  • Test the script

Creating a Script Module (8 topics)

  • Designing Script Modules
  • Implementing Script Modules
  • Lab: Creating a Script Module
  • Creating a Script Module
  • Saving the script module
  • Adding a module-level variable
  • Controlling module member visibility
  • Testing the script module

Handling Errors (8 topics)

  • Designing Error Handling
  • Implementing Error Handling
  • Lab: Handling Errors
  • Using the Try...Catch Construct
  • Handling Command Errors
  • Handling Non-Command Errors
  • Logging Errors to a File
  • Displaying Warning Messages

Writing Commands that Use Pipeline Input and Output (8 topics)

  • Understanding Pipeline Parameter Binding
  • Implementing Pipeline Parameter Input
  • Implementing Pipeline Parameter Input
  • Lab: Writing Commands that Use Pipeline Inout and Output
  • Adding Pipeline Input Capability to Parameters
  • Working with Pipeline Input
  • Creating Custom Output Objects
  • Outputting Objects to the Pipeline

Creating Hierarchical Command Output (9 topics)

  • Designing Complex Command Output
  • Implementing Complex Command Output
  • Using Object Hierarchies
  • Lab: Creating Hierarchical Command Output
  • Retrieving and Enumerating Data
  • Creating Child Objects
  • Creating the Parent Object
  • Displaying and Object Hierarchy
  • Persisting an Object Hierarchy

Debugging Scripts (5 topics)

  • Designing Scripts for Debugging
  • Implementing Script Debugging
  • Lab: Debugging Scripts
  • Using Write-Debug
  • Using PSBreakpoints

Customizing Default Formatting (7 topics)

  • Designing Formatting
  • Implementing Custom Formatting
  • Lab: Customizing Default Formatting
  • Adding a Custom Type Name to an Object
  • Creating a DefaultDisplayPropertySet Type Extension
  • Creating a Custom View
  • Adding Type Extensions and Views to Modules and Creating a Module Manifest

Adding Advanced Parameter Attributes and Command Documentation (7 topics)

  • Implementing Advanced Parameter Attribtues
  • Implementing Help Documentation
  • Lab: Adding Advanced Parameter Attributes and Command Documentation
  • Defining Aliases and Help Messages
  • Defining Parameter Validation
  • Adding Comment-Based Help
  • Writing a Command that Uses -Confirm and -WhatIf

Creating Controller Scripts (7 topics)

  • Designing Script Execution
  • Implementing a Controller Script
  • Lab: Creating Controller Scripts
  • Creating a Controller Script
  • Parameterizing a Controller Script
  • Testing a Controller Script
  • Debugging a Controller Script

Creating HTML-Based Reports (9 topics)

  • Creating Basic HTML Reports
  • Creating Enhanced HTML Reports
  • Lab: Creating Reports by using HTML
  • Creating Reports by using HTML
  • Converting Objects into HTML Fragments
  • Combining HTML Fragments
  • Adding Basic Formatting
  • Creating Enhanced HTML Fragments
  • Applying Conditional Formatting

Creating Basic Workflows (6 topics)

  • Understanding Workflows
  • Implementing Workflows
  • Lab: Creating Basic Workflows
  • Importing the PSWorkflow Module
  • Converting a Function to a Basic Worklfow
  • Parallelizing Commands

Working with XML Data (8 topics)

  • Understanding XML
  • Implementing XML Manipulation
  • Lab: Working with XML Data
  • Loading XML
  • Manipulating XML as an Object Hierarchy
  • Selecting XML Elements by using XPath
  • Modifying XML
  • Saving XML

Using Advanced Scripting Techniques (2 topics)

  • Using External Functionality
  • Adding Graphical User Interface Elements

Creating Proxy Functions (7 topics)

  • Designing Proxy Functions
  • Implementing Proxy Functions
  • Lab: Creating Proxy Functions
  • Generating a Proxy Function Template
  • Modifying the Template
  • Using the Proxy Function
  • Bypassing a Proxy Function

Building Tools in Windows PowerShell (7 topics)

  • Designing the Tool
  • Implementing the Tool
  • Testing the Tool
  • Lab: Building Tools in Windows PowerShell
  • Designing the Tool
  • Implementing the Tool
  • Testing the Tool

Prerequisites

  • Experience in administering Windows server and client computers
  • Experience in running interactive Windows PowerShell commands from the command prompt
  • Course M10961 is strongly recommended as a pre-requisite to this course

Course PDF

Print

Sections