Attention Microsoft training centers! Microsoft's Courseware Marketplace now offers course 55039AC, "Windows PowerShell Scripting and Toolmaking." Designed as a 5-day course, it's a spiritual "Part 2" to Microsoft Official Curriculum course 10961.
With 10961, the goal was to provide a founding in PowerShell basics, in a somewhat product-neutral way. That is, the course doesn't cover Exchange, or SharePoint, or AD; it focuses on pure PowerShell. Unlike its predecessor, 10325, the 10961 course kind of "stops short" of actual scripting. It shows you how to build a parameterized script, but doesn't dig into advanced functions, debugging, error handling, and the like. There was a feeling - which has been largely upheld through customer feedback - that a sizable audience needed to get the shell basics under their belt, and weren't necessarily comfortable leaping into coding. 10325 kind of breezed through scripting at a somewhat high level, and didn't have time to offer much in the way of practices and other guidance, and it didn't really set you up for building reusable units of automation.
That's where 55039AC comes in. It is a scripting class, pure and simple, and it focuses on building reusable units of automation according to best practices and patterns. More time is devoted to design, structure, procedural error handling, and so on. There's also deeper coverage of module building, including building custom formatting views, and there's even an introduction to Workflow. Although designed for v3, the course is pretty version-agnostic, meaning it's suitable for someone who wants to use PowerShell v2, v3, or beyond. And, because it's a Courseware Marketplace offering, it's compatible with Software Assurance (SA) training vouchers.
Training centers are welcome to combine 10961 and 55039 to create an "accelerated" class that includes heavier scripting coverage than 10961 alone. I do that myself, actually, although it's a pretty hardcore week. If you're interested in doing that, contact me and I can provide some of the accelerated-delivery outlines that I use.
55039's modules are all standalone - with a twist. Students are encouraged to use and evolve a single code project throughout several modules. However, if you're not teaching all of the modules, or if a student falls behind, each lab comes with a complete "starting point" that keeps everyone on the same page.
55039 has already been beta-taught, and of course I welcome feedbackÂ if you've taught the course or taken it as a student.
My company also offers licensing for this course outside the Courseware Marketplace, mainly geared to training centers who want an unlimited perpetual license to reproduce the course materials on their own. We know courseware costs are a significant concern, so we're trying to offer something reasonable there.
Both 10961 and 55039 (or at least a subset of 55039; we're still working on exactly what) will be considered pre-requisites for the upcoming 3-day 10962 course, which will focus on advanced PowerShell techniques for us in production environments, including database connectivity, report generation, and so on.