TLG Learning Bellevue / Seattle 425-460-2200 or 800-460-2298
TLG Learning
  

Course Outline

 

55039 - Windows Powershell Scripting and Toolmaking

Overview:

This 5-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.

Pre-requisite(s):

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

Audience:

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.

Length/Cost:

5 Days, $2995

Outline:

Lesson 1 : Tool Design

Tools do one thing
Tools are flexible
Tools look native

Lesson 2 : Start with a Command

Why start with a command?
Discovery and experimentation

Lesson 3 : Build a Basic Function and Module

Start with a basic function
Create a script module
Check prerequisites
Run the new command

Lesson 4 : Adding CmdletBinding and Parameterizing

About CmdletBinding and common parameters
Accepting pipeline input
Mandatory-ness
Parameter validation
Parmeter aliases

Lesson 5 : Emitting Objects as Output

Assembling information
Constructing and emitting output
Quick tests

Lesson 6 : An Interlude: Changing Your Approach

Examining a script
Critiquing a script
Revising the script

Lesson 7 : Using Verbose, Warning, and Informational Output

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

Lesson 8 : Comment-Based Help

Where to put your help
Getting started
Going further with comment-based help
Broken help

Lesson 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

Lesson 10 : Basic Debugging

Two kinds of bugs
The ultimate goal of debugging
Developing assumptions
Write-Debug
Set-PSBreakpoint
The PowerShell ISE

Lesson 11 : Going Deeper with Parameters

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

Lesson 12 : Writing Full Help

External help
Using PlatyPs
Supporting online help
“About” topics
Making your help updatable

Lesson 13 : Unit Testing Your Code

Sketching out the test
Making something to test
Expanding the test
Going further with Pester

Lesson 14 : Extending Output Types

Understanding types
The Extensible Type System
Extending an object
Using Update-TypeData

Lesson 15 : Analyzing Your Script

Performing a basic analysis
Analyzing the analysis

Lesson 16 : Publishing Your Tools

Begin with a manifest
Publishing to PowerShell Gallery
Publishing to private repositories

Lesson 17 : Basic Controllers: Automation Scripts and Menus

Building a menu
Using UIChoice
Writing a process controller

Lesson 18 : Proxy Functions

A proxy example
Creating the proxy base
Modifying the proxy
Adding or removing parameters

Lesson 19 : Working with XML Data

Simple: CliXML
Importing native XML
ConvertTo-XML
Creating native XML from scratch

Lesson 20 : Working with JSON Data

Converting to JSON
Converting from JSON

Lesson 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

Lesson 22 : Final Exam

Lab problem
Break down the problem
Do the design
Test the commands
Code the tool

Schedule:

= "Guaranteed to Run"
ILT - Instructor-Led Training | MLT - Mentor-Led Training | Anywhere LIVE OLT - Live Online Training | Bellevue LIVE OLT - Live Online Training
Location RegisterTime
Anywhere
(Live-OLT)
Oct 28 - Nov 01 8:00AM-4:00PM Pacific Time
Bellevue, WA
(Live-OLT)
Oct 28 - Nov 01 8:00AM-4:00PM


Find Courses
Search Courses
 
  

 
Course Topics
Course Schedules