55039 Windows PowerShell Scripting and Toolmaking
Download the course description: 55039B Windows PowerShell Scripting and Toolmaking
This three- to five-day instructor-led is intended for IT professionals who are interested in furthering their skills in Windows PowerShell and administrative automation. The course assumes a basic working knowledge of PowerShell as an interactive command-line shell, and teaches students the correct patterns and practices for building reusable, tightly scoped units of automation.
Module 1: Tool Design
This module explains how to design tools and units of automation that comply with native PowerShell usage patterns.
Module 2: Start with a Command
This module explains how to start the scripting process by beginning in the interactive shell console.
Module 3: Build a Basic Function and Module
This module explains how to build a basic function and module, using commands already experimented with in the shell.
Module 4: Adding CmdletBinding and Parameterizing
This module explains how to extend the functionality of a tool, parameterize input values, and use CmdletBinding.
Module 5: Emitting Objects as Output
This module explains how to create tools that produce custom objects as output.
Module 6: An Interlude: Changing Your Approach
This module explains how to re-think tool design, using concrete examples of how it’s often done wrong.
Module 7: Using Verbose, Warning, and Informational Output
This module explains how to use additional output pipelines for better script behaviors.
Module 8: Comment-Based Help
This module explains how to add comment-based help to tools.
Module 9: Handling Errors
This module explains how to create tools that deal with anticipated errors.
Module 10: Basic Debugging
This module explains how to use native PowerShell script debugging tools.
Module 11: Going Deeper with Parameters
This module explains how to further define parameter attributes in a PowerShell command.
Module 12: Writing Full Help
This module explains how to create external help for a command.
Module 13: Unit Testing Your Code
This module explains how to use Pester to perform basic unit testing.
Module 14: Extending Output Types
This module explains how to extend objects with additional capabilities.
Module 15: Analyzing Your Script
This module explains how to use Script Analyzer to support best practices and prevent common problems.
Module 16: Publishing Your Tools
This module explains how to publish tools to public and private repositories.
Module 17: Basic Controllers: Automation Scripts and Menus
This module explains how to create controller scripts that put tools to use.
Module 18: Proxy Functions
This module explains how to create and use proxy functions.
Module 19: Working with XML Data
This module explains how to work with XML data in PowerShell.
Module 20: Working with JSON Data
This module explains how to using JSON data in PowerShell.
Module 21: Working with SQL Server Data
This module explains how to use SQL Server from within a PowerShell script.
Module 22: Final Exam
This module provides a chance for students to use everything they have learned in this course within a practical example.
After completing this course, students will be able to:
-Describe the correct patterns for building modularized tools in Windows PowerShell
-Build highly modularized functions that comply with native PowerShell patterns
-Build controller scripts that expose user interfaces and automate business processes
-Manage data in a variety of formats
-Write automated tests for tools
Before attending this course, students must have experience using:
– basic Windows administration
– Windows PowerShell to query and modify system information
– Windows PowerShell to discover commands and their usage
-WMI and/or CIM to query system information