Windows PowerShell Scripting and Toolmaking (MS-55039)
- Learning Style
- Course Duration
Select A Class Schedule
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.
- 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
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.
- 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 pre-requisite to this course
Virtual Instructed-Led Outline
This module explains how to prepare the environment for scripting, and provides refresher and background information for scripting.
- Securing the Scripting Environment
- Understanding Variables and Operators
- Understanding Scripting Constructs and Scope
- 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.
This module explains how to start with an existing command and parameterize it to create a reusable tool.
- Designing Parameters
- Implementing Parameters
- Identify changeable values
- Declare parameters
- Use parameters in place of changeable values
- Test the script
- Evolve a command into a parameterized script.
This module explains how to turn a basic script into a script module that can be distributed, loaded, and unloaded in Windows PowerShell.
- Designing Script Modules
- Implementing Script Modules
- Creating a Script Module
- Saving the script module
- Adding a module-level variable
- Controlling module member visibility
- Testing the script module
- Create a script module based upon an existing script or function.
This module explains how to trap and handle errors within a script module.
- Designing Error Handling
- Implementing Error Handling
- Using the Try…Catch Construct
- Handling Command Errors
- Handling Non-Command Errors
- Logging Errors to a File
- Displaying Warning Messages
- Describe and use the Try…Catch construct.
- Handle command errors.
- Handle non-command errors.
- Log errors to a file.
- Display warning messages.
This 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.
- Understanding Pipeline Parameter Binding
- Implementing Pipeline Parameter Input
- Implementing Pipeline Parameter Input
- Adding Pipeline Input Capability to Parameters
- Working with Pipeline Input
- Creating Custom Output Objects
- Outputting Objects to the Pipeline
- Create commands that accept pipeline input.
- Create commands that consolidate multiple data sources into Windows PowerShell pipeline output.
This module explains how to create, and use, object-oriented output that includes object hierarchies.
- Designing Complex Command Output
- Implementing Complex Command Output
- Using Object Hierarchies
- Retrieving and Enumerating Data
- Creating Child Objects
- Creating the Parent Object
- Displaying and Object Hierarchy
- Persisting an Object Hierarchy
- Create hierarchical, object-oriented command output.
- Use hierarchical, object—oriented command output.
This module explains Windows PowerShell techniques used to debug scripts, and provides students with opportunities to practice debugging skills.
- Designing Scripts for Debugging
- Implementing Script Debugging
- Using Write-Debug
- Using PSBreakpoints
- Debug scripts by using Write-Debug.
- Debug scripts by using PSBreakpoints.
This module explain how to create a custom formatting view that can be added to a script module.
- Designing Formatting
- Implementing Custom 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
- Create custom type extensions.
- Create custom views.
This 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.
- Implementing Advanced Parameter Attribtues
- Implementing Help Documentation
- Defining Aliases and Help Messages
- Defining Parameter Validation
- Adding Comment-Based Help
- Writing a Command that Uses –Confirm and -WhatIf
- Add advanced parameter attributes, including aliases and validation.
- Create comment-based documentation for commands.
- Write commands that use –WhatIf and –Confirm parameters.
This module explains how to create scripts that implement complex business processes by running multiple tools in a specified sequence.
- Designing Script Execution
- Implementing a Controller Script
- Creating a Controller Script
- Parameterizing a Controller Script
- Testing a Controller Script
- Debugging a Controller Script
- Implement controller scripts by combining specified tools.
- Test and debug controller scripts.
This module explains how to write controller scripts that produce HTML-based management reports.
- Creating Basic HTML Reports
- Creating Enhanced HTML Reports
- Creating Reports by using HTML
- Converting Objects into HTML Fragments
- Combining HTML Fragments
- Adding Basic Formatting
- Creating Enhanced HTML Fragments
- Applying Conditional Formatting
- Create basic and enhanced HTML reports that include specified management information.
This modules explains the key differences between Windows PowerShell functions and workflows, and shows students how to create a basic workflow.
- Understanding Workflows
- Implementing Workflows
- Importing the PSWorkflow Module
- Converting a Function to a Basic Worklfow
- Parallelizing Commands
- Describe the differences between a Windows PowerShell function and a workflow
- Convert a function to a workflow
- Run a workflow that includes parallel execution
This module explains how Windows PowerShell interprets, represents, and manipulates XML-based data.
- Understanding XML
- Implementing XML Manipulation
- Loading XML
- Manipulating XML as an Object Hierarchy
- Selecting XML Elements by using XPath
- Modifying XML
- Saving XML
- Load, manipulate, and save data in XML formats.
This module explains how to use advanced scripting techniques, including execution of external commands and graphical user interfaces.
- Using External Functionality
|Learning Style||Virtual Instructor-Led|
|Course Duration||5 Days|
|SATV Value||5 Days|
|VPA Eligible||VPA Eligible|