Call Us: +32 2 466 00 16
Email: info@u2u.be
Follow Us:

Windows PowerShell Scripting and Toolmaking

5days
Training code
ms55039

Upcoming sessions

27 Aug 2018
22 Oct 2018
10 Dec 2018
Book this course

Module 1: Preparing for Scripting

Lessons

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

After completing this module, students will be able to:


  • Describe and set the execution policy.
  • Run Windows PowerShell scripts.
  • Use variables and operators.
  • Describe and use scripting constructs.
  • Describe the operation of Windows PowerShell scope.

Module 2: Parameterizing a Command

Lessons

  • Designing Parameters
  • Implementing Parameters

Lab : Parameterizing a Command

  • Identify changeable values
  • Declare parameters
  • Use parameters in place of changeable values
  • Test the script

After completing this module, students will be able to:


  • Evolve a command into a parameterized script.

Module 3: Creating a Script Module

Lessons

  • 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

After completing this module, students will be able to:


  • Create a script module based upon an existing script or function.

Module 4: Handling Errors

Lessons

  • 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

After completing this module, students will be able to:


  • Describe and use the Try…Catch construct.
  • Handle command errors.
  • Handle non-command errors.
  • Log errors to a file.
  • Display warning messages.

Module 5: Writing Commands that Use Pipeline Input and Output

Lessons

  • 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

After completing this module, students will be able to:


  • Create commands that accept pipeline input.
  • Create commands that consolidate multiple data sources into Windows PowerShell pipeline output.

Module 6: Creating Hierarchical Command Output

Lessons

  • 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

After completing this module, students will be able to:


  • Create hierarchical, object-oriented command output.
  • Use hierarchical, object—oriented command output.

Module 7: Debugging Scripts

Lessons

  • Designing Scripts for Debugging
  • Implementing Script Debugging

Lab : Debugging Scripts

  • Using Write-Debug
  • Using PSBreakpoints

After completing this module, students will be able to:


  • Debug scripts by using Write-Debug.
  • Debug scripts by using PSBreakpoints.

Module 8: Customizing Default Formatting

Lessons

  • 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

After completing this module, students will be able to:


  • Create custom type extensions.
  • Create custom views.

Module 9: Adding Advanced Parameter Attributes and Command Documentation

Lessons

  • 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

After completing this module, students will be able to:


  • Add advanced parameter attributes, including aliases and validation.
  • Create comment-based documentation for commands.
  • Write commands that use –WhatIf and –Confirm parameters.

Module 10: Creating Controller Scripts

Lessons

  • 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

After completing this module, students will be able to:


  • Implement controller scripts by combining specified tools.
  • Test and debug controller scripts.

Module 11: Creating HTML-Based Reports

Lessons

  • 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

After completing this module, students will be able to:


  • Create basic and enhanced HTML reports that include specified management information.

Module 12: Creating Basic Workflows

Lessons

  • Understanding Workflows
  • Implementing Workflows

Lab : Creating Basic Workflows

  • Importing the PSWorkflow Module
  • Converting a Function to a Basic Worklfow
  • Parallelizing Commands

After completing this module, students will be able to:


  • Describe the differences between a Windows PowerShell function and a workflow
  • Convert a function to a workflow
  • Run a workflow that includes parallel execution

Module 13: Working with XML Data

Lessons

  • 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

After completing this module, students will be able to:


  • Load, manipulate, and save data in XML formats.

Module 14: Using Advanced Scripting Techniques

Lessons

  • Using External Functionality
  • Adding Graphical User Interface Elements

After completing this module, students will be able to:


  • Run external commands from inside Windows PowerShell
  • Describe the process required to create a graphical user interface in Windows PowerShell

Module 15: Creating Proxy Functions

Lessons

  • 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

After completing this module, students will be able to:


  • Create and modify proxy functions in Windows PowerShell

Module 16: Building Tools in Windows PowerShell

Lessons

  • Designing the Tool
  • Implementing the Tool
  • Testing the Tool

Lab : Building Tools in Windows PowerShell

  • Designing the Tool
  • Implementing the Tool
  • Testing the Tool

After completing this module, students will be able to:


  • Design, create, and test tools in Windows PowerShell

This five-day instructor-led course is intended for IT Professionals who have a working knowledge of Windows PowerShell 3.0 techniques and technologies, and who want to build reusable tools by using Windows PowerShell 3.0. Students of this course may administer a wide variety of server and client products and technologies that offer Windows PowerShell integration, including Microsoft Exchange Server, Microsoft Windows Active Directory Domain Services, Microsoft SharePoint Server, and more. This course focuses on the Windows PowerShell scripting language, and on the concepts and techniques needed to produce reusable, professional tools.


This course is intended for administrators that have little or no programming experience, but who have a working knowledge of Windows PowerShell and who are able to use Windows PowerShell to run complex, interactive commands.


© 2018 U2U All rights reserved.