Your Cart Is Empty
Technical Courses >
Microsoft PowerShell >
Windows PowerShell Scripting and Toolmaking
This course focuses on the Windows PowerShell scripting language, and on the techniques to produce reusable, professional tools.
In this course, you will learn to build reusable tools by using Windows PowerShell 5.0/5.1. This course focuses on the Windows PowerShell scripting language and on the concepts and techniques needed to design tools, including and output requirements and functional requirements. You will learn functions to deal with anticipated errors using standard PowerShell patterns and practices. By course completion, you will be armed with the knowledge and skills to better 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.
Lesson objectives help students become comfortable with the course, and also provide a means to evaluate learning. Upon successful completion of this course, students will be able to:• Design tools, including input requirements, output requirements, and functional requirements.• Write tools, including scripting, parameterizing commands, and providing verbose output.• Debug tools and provide error handling within tools.• Combine tools into script and manifest modules.• Create custom formatting views.• Create tools that are consistent in naming and operation with native Windows PowerShell tools
Module 1: Preparing for ScriptingThis module explains how to prepare the environment for scripting, and provides refresher and background information for scripting. Lessons · Securing the Scripting Environment· Understanding Variables and Operators· Understanding Scripting Constructs and ScopeModule 2: Parameterizing a CommandThis module explains how to start with an existing command and parameterize it to create a reusable tool. Lessons · Designing Parameters· Implementing ParametersLab : Parameterizing a Command· Identify changeable values· Declare parameters· Use parameters in place of changeable values· Test the scriptModule 3: Creating a Script ModuleThis module explains how to turn a basic script into a script module that can be distributed, loaded, and unloaded in Windows PowerShell. Lessons · Designing Script Modules· Implementing Script ModulesLab : Creating a Script Module· Creating a Script Module· Saving the script module· Adding a module-level variable· Controlling module member visibility· Testing the script moduleModule 4: Handling ErrorsThis module explains how to trap and handle errors within a script module. Lessons · Designing Error Handling· Implementing Error HandlingLab : Handling Errors· Using the Try…Catch Construct· Handling Command Errors· Handling Non-Command Errors· Logging Errors to a File· Displaying Warning MessagesModule 5: Writing Commands that Use Pipeline Input and OutputThis module explains how to write commands that integrate with the Windows PowerShell pipeline. Students will create commands that produce pipeline output and that accept pipeline input. Lessons · Understanding Pipeline Parameter Binding· Implementing Pipeline Parameter Input· Implementing Pipeline Parameter InputLab : 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 PipelineModule 6: Creating Hierarchical Command OutputThis module explains how to create, and use, object-oriented output that includes object hierarchies. Lessons · Designing Complex Command Output· Implementing Complex Command Output· Using Object HierarchiesLab : Creating Hierarchical Command Output· Retrieving and Enumerating Data· Creating Child Objects· Creating the Parent Object· Displaying and Object Hierarchy· Persisting an Object HierarchyModule 7: Debugging ScriptsThis module explains Windows PowerShell techniques used to debug scripts, and provides students with opportunities to practice debugging skills. Lessons · Designing Scripts for Debugging· Implementing Script DebuggingLab : Debugging Scripts· Using Write-Debug· Using PSBreakpointsModule 8: Customizing Default FormattingThis module explain how to create a custom formatting view that can be added to a script module. Lessons · Designing Formatting· Implementing Custom FormattingLab : 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 ManifestModule 9: Adding Advanced Parameter Attributes and Command DocumentationThis module explains how to declare parameter aliases, help messages, and input validation. It also explains how to implement switch parameters, how to add support for the –WhatIf and –Confirm parameters, and how to add comment-based help to a command. Lessons · Implementing Advanced Parameter Attribtues· Implementing Help DocumentationLab : 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
Module 10: Creating Controller ScriptsThis module explains how to create scripts that implement complex business processes by running multiple tools in a specified sequence. Lessons · Designing Script Execution· Implementing a Controller ScriptLab : Creating Controller Scripts· Creating a Controller Script· Parameterizing a Controller Script· Testing a Controller Script· Debugging a Controller ScriptModule 11: Creating HTML-Based ReportsThis module explains how to write controller scripts that produce HTML-based management reports. Lessons · Creating Basic HTML Reports· Creating Enhanced HTML ReportsLab : 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 FormattingModule 12: Creating Basic WorkflowsThis modules explains the key differences between Windows PowerShell functions and workflows, and shows students how to create a basic workflow. Lessons · Understanding Workflows· Implementing WorkflowsLab : Creating Basic Workflows· Importing the PSWorkflow Module· Converting a Function to a Basic Worklfow· Parallelizing CommandsModule 13: Working with XML DataThis module explains how Windows PowerShell interprets, represents, and manipulates XML-based data. Lessons · Understanding XML· Implementing XML ManipulationLab : Working with XML Data· Loading XML· Manipulating XML as an Object Hierarchy· Selecting XML Elements by using XPath· Modifying XML· Saving XMLModule 14: Using Advanced Scripting TechniquesThis module explains how to use advanced scripting techniques, including execution of external commands and graphical user interfaces. Lessons · Using External Functionality· Adding Graphical User Interface ElementsModule 15: Creating Proxy FunctionsThis module explains how to create proxy functions in Windows PowerShell. Lessons · Designing Proxy Functions· Implementing Proxy FunctionsLab : Creating Proxy Functions· Generating a Proxy Function Template· Modifying the Template· Using the Proxy Function· Bypassing a Proxy FunctionModule 16: Building Tools in Windows PowerShellThis module is a “final exam” for the course, and offers students the opportunity to build a complete tool, from scratch, using many of the techniques that they have learned in the preceding days. Lessons · Designing the Tool· Implementing the Tool· Testing the ToolLab : Building Tools in Windows PowerShell· Designing the Tool· Implementing the Tool· Testing the Tool
MCSA: Windows Server 2016MCSE: Productivity
Before attending this course, students must have:• Experience in administering Windows server and client computers• Experience in running interactive Windows PowerShell commands from the command prompt• Course 10961 is strongly recommended as a prerequisite to this course
Productivity Point Learning Solutions
evolved out of a desire to increase our outreach
both nationally and internationally.
Productivity Point Headquarters
1580 Sawgrass Corporate Parkway
Sunrise, Florida 33323