You are on page 1of 8

 

WINDOWS POWERSHELL SCRIPTING


AND TOOLMAKING
Course Code: 6544

Build the tools that will allow you to better administer your Windows
server and client products.
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.
I just completed the Global Knowledge course on Windows PowerShell
Scripting and Toolmaking. Fantastic course, entirely met all of my expectations
for what I would get. I feel like I have the necessary to build my own tools for
my team in PowerShell now, I just need to exercise what I’ve learned.
The GK instructor was excellent, really knew what he was doing. He was a
good speaker—kept things entertaining but focused. He knew the material at
such a depth that if people got hung up, he was always able to help them
understand the material by explaining it in different ways, showing different
methods of attaining the same result, and all ways of demonstrating mastery of
the material.
GK uses Zoom now for their remote learning platform, and that was stable and
clear the entire time. I never lost connection to the course during the entire 5
days, it never crashed or garbled the instructor’s words—really great choice for
this. The Labs were a little inconsistent early on in day 1, but once we got on
they remained available and were configured in such a way that the course
materials worked in that environment exactly as expected every time.
All around excellent experience. I would highly recommend the course to
anyone looking to take a deep dive into building tools with PowerShell.

JONATHAN BONDE
Check out additional reviews of Global Knowledge on REVIEWS.IO

What You'll Learn


• 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
• Debug tools
Who Needs to Attend
This course is intended for administrators in a Microsoft-centric environment who
want to build reusable units of automation, automate business processes, and
enable less-technical colleagues to accomplish administrative tasks.

Prerequisites
• Experience at basic Windows administration
• Experience using Windows PowerShell to query and modify system
information
• Experience using Windows PowerShell to discover commands and their usage
• Experience using WMI and/or CIM to query system information
 

WINDOWS POWERSHELL SCRIPTING


AND TOOLMAKING
Course Code: 6544

VIRTUAL CLASSROOM LIVE $2,995 USD 5 days

Virtual Classroom Live Outline

1. Tool Design
• Tools do one thing
• Tools are flexible
• Tools look native
2. Start with a Command
• Why start with a command?
• Discovery and experimentation
3. Build a Basic Function and Module
• Start with a basic function
• Create a script module
• Check prerequisites
• Run the new command

4. Adding CmdletBinding and Parameterizing


• About CmdletBinding and common parameters
• Accepting pipeline input
• Mandatory-ness
• Parameter validation
• Parmeter aliases
5. Emitting Objects as Output
• Assembling information
• Constructing and emitting output
• Quick tests

6. An Interlude: Changing Your Approach


• Examining a script
• Critiquing a script
• Revising the script

7. Using Verbose, Warning, and Informational Output


• Knowing the six channels
• Adding verbose and warning output
• Doing more with verbose output
• Informational output

8. Comment-Based Help
• Where to put your help
• Getting started
• Going further with comment-based help
• Broken help

9. Handling Errors
• Understanding errors and exceptions
• Bad handling
• Two reasons for exception handling
• Handling exceptions in our tool
• Capturing the actual exception
• Handling exceptions for non-commands
• Going further with exception handling
• Deprecated exception handling

10. Basic Dubugging
• Two kinds of bugs
• The ultimate goal of debugging
• Developing assumptions
• Write-Debug
• Set-PSBreakpoint
• The PowerShell ISE

11. Going Deeper with Parameters


• Parameter positions
• Validation
• Multiple parameter sets
• Value from remaining arguments
• Help messages
• Aliases
• More CmdletBinding

12. Writing Full Help


• External help
• Using PlatyPs
• Supporting online help
• “About” topics
• Making your help updatable
13. Unit Testing Your Code
• Sketching out the test
• Making something to test
• Expanding the test
• Going further with Pester
14. Extending Output Types
• Understanding types
• The Extensible Type System
• Extending an object
• Using Update-TypeData
15. Analyzing Your Scripts
• Performing a basic analysis
• Analyzing the analysis
16. Publishing Your Tools
• Begin with a manifest
• Publishing to PowerShell Gallery
• Publishing to private repositories

17.  Basic Controllers:  Automation Scripts and Menus


• Building a menu
• Using UIChoice
• Writing a process controller
18. Proxy Functions
• A proxy example
• Creating the proxy base
• Modifying the proxy
• Adding or removing parameters
19. Working with XML Data
• Simple: CliXML
• Importing native XML
• ConvertTo-XML
• Creating native XML from scratch
20. Working with JSON Data
• Converting to JSON
• Converting from JSON
21. Working with SQL Server Data
• SQL Server terminology and facts
• Connecting to the server and database
• Writing a query
• Running a query
• Invoke-SqlCmd
• Thinking about tool design patterns
22. Final Exam
• Lab problem
• Break down the problem
• Do the design
• Test the commands
• Code the tool

Virtual Classroom Live Labs


Lab : Designing a Tool
• Design a tool
Lab : Designing a Tool
• Start with a command
Lab : Designing a Tool
• Build a basic function and module
Lab : Designing a Tool
• Adding CmdletBinding and Parameterizing
Lab : Designing a Tool
• Emitting objects as output
Lab : Designing a Tool
• Using Verbose, Warning, and Informational Output
Lab : Designing a Tool
• Comment-based help
Lab : Designing a Tool
• Handling errors
Lab : Designing a Tool
• Basic debugging
• More CmdletBinding
Lab : Designing a Tool
• Writing full help
Lab : Designing a Tool
• Unit testing your code
Lab : Designing a Tool
• Analyzing your script
Lab : Designing a Tool
• Publishing your tools
Lab : Designing a Tool
• Basic controllers
Lab : Designing a Tool
• Proxy functions
Lab : Designing a Tool
• Working with XML
Lab : Designing a Tool
• Working with JSON data
Lab : Final Exam
• Lab one
Lab : Final Exam
• Lab two
 

Aug 19 - 23, 2019 | 8:30 AM - 4:30 PM EST


Sep 9 - 13, 2019 | 8:30 AM - 4:30 PM EST
Sep 23 - 27, 2019 | 9:30 AM - 5:30 PM EST
Oct 7 - 11, 2019 | 11:30 AM - 7:30 PM EST
Oct 14 - 18, 2019 | 8:30 AM - 4:30 PM EST
Oct 28 - Nov 1, 2019 | 8:30 AM - 4:30 PM EST
Nov 11 - 15, 2019 | 9:30 AM - 5:30 PM EST
Nov 18 - 22, 2019 | 8:30 AM - 4:30 PM EST
Dec 9 - 13, 2019 | 11:30 AM - 7:30 PM EST
Dec 16 - 20, 2019 | 8:30 AM - 4:30 PM EST
 

WINDOWS POWERSHELL SCRIPTING


AND TOOLMAKING
Course Code: 6544

PRIVATE GROUP TRAINING 5 days

Visit us at www.globalknowledge.com or call us at 1-866-716-6688.


Date created: 8/17/2019 12:03:08 AM
Copyright © 2019 Global Knowledge Training LLC. All Rights Reserved.

You might also like