Books and Training

Here is information about my books and training projects. I appreciate your support when purchasing copies. It helps pay the mortgage and allows me to continue what I’m doing. I always appreciate user reviews on appropriate sites like Amazon, as well as word of mouth recommendations. If I’m speaking at a conference or user group meeting, I’m more than happy to sign whatever you put in front of me.

Live Training

In addition to the material on this page, I would also love to come do PowerShell training for you and your organization. I think you’ll need to set aside at least 3 days for any sort of fundamentals class. Most of my clients find 5 days is even better, especially if you want to dig into Desired State Configuration (DSC) at all.

All course material is drawn from my books and is almost always tailored to the client. During the class, I often adapt material and exercises “on-the-fly” to better meet the students’ needs and abilities. I try to incorporate as much real-world and practical exercises, often drawing from the students’ job and company needs.

I have taught many, many students, literally all over the world. Here is a sampling of possible courses:

PowerShell Fundamentals
Advanced PowerShell Scripting and Toolmaking
DSC/DevOps Fundamentals
DSC/DevOps Advanced

Even though people talk about “training” what they really need, and the approach I take, is teaching. Training implies learning how to “click here” and “run this”. Teaching means learning the material at a deeper level so that you can continue to learn and grow after the class ends. That’s why my courses involve intense hands-on exercises and minimal PowerPoint.

Ideally you will want to have a training environment where each attendee has access to a dedicated computer or laptop with at least 12GB or more of RAM and 100GB of hard drive space, that supports virtualization and can run the latest version of Hyper-V. Detailed setup instructions will be provided.

My teaching fees are per day and all inclusive (i.e. travel expenses). I also try to schedule teaching engagements at least 6-8 weeks in advance. Short notice classes may be possible but usually with a premium to cover the typically higher travel expenses.

If it makes any difference, in addition to being a PowerShell MVP I was a Microsoft Certified Trainer for 13 years. I dropped the certification as I wasn’t teaching a lot of Microsoft Official Curriculum. If you are interested, please drop me a line about your training needs.


This is a listing of most of my books that are still in print or relevant. For beginners the recommended reading order is Learn Windows PowerShell in a Month of Lunches – Learn PowerShell Scripting in a Month of Lunchs – PowerShell Scripting and Toolmaking.

PowerShell Scripting and Toolmaking with Don Jones (LeanPub 2017)

This is the book Don and I have wanted to write for sometime and the LeanPub agile publishing module makes this a very attractive book. The book covers all of the practices and patterns you will need to create useful PowerShell scripts and tools. You need some basic PowerShell skills to get started (see the next book) but after that this book will get you ready for the next level. There is naturally some overlap with the Learn PowerShell Toolmaking in a Month of Lunches book, but this title allows us to dive into areas we couldn’t before and the “Forever” edition makes it easier for us to provide updates and correct errors.






Learn Windows PowerShell in a Month of Lunches 3rd Ed. with Don Jones. (Manning Publications, 2016)

This is the for IT Pros who need to jump start their PowerShell skills. A month of easy to follow lessons to get you started on the road to PowerShell success. Highly recommended by many in the PowerShell community. This edition has been updated to reflect changes in PowerShell v5, although the fundamentals haven’t really changed since PowerShell v3. Once you’ve finished this, you might want to consider the next book in this list.




Learn PowerShell Scripting in a Month of Lunches 3rd ed. with Don Jones (Manning Publications, 2017)

You have some PowerShell skills at the command prompt. Now take them to the next level and learn how to create PowerShell tools. Do you want to be the person who runs the command or the person who creates it? Which job sounds more interesting and most likely pays better? This book will take your from scripter to toolmaker in a month of lunches and you don’t have to be a developer. This edition has been updated to include PowerShell v5 and has some slight restructuring over previous versions.





PowerShell in Depth: An Administrator’s Guide 2nd ed.(with Don Jones and Richard Siddaway, Manning Publications, 2014)

pid2-coverA complete reference guide to PowerShell 4.0, targeted at IT Pro’s written by 3 PowerShell MVPs with decades of experience. It is assumed you have some experience with PowerShell. This is not the first book for an absolute beginner. Go through the two Lunches book first, then get this. For everyone else we want this to be the book you keep on your desk.




Managing Active Directory with Windows PowerShell: TFM 2nd Ed.(SAPIEN Press 2011)

Managing AD with PowerShell coverThis second edition of my book shows how to manage Active Directory using the Microsoft Active Directory provider and cmdlets or the free Active Directory cmdlets from Quest Software. Some material from the first edition, such as using ADSI, has been moved to appendices.

Out of print but you might find used copies for sale somewhere.




WSH and VBScript Core: TFM (SAPIEN Press 2007).

WSH and VBScript Core CoverA complete reference guide to VBScript for IT Pros packed with real world examples.






Training Material

I’ve been fortunate enough to work with the great people at TrainSignal ( now part of Pluralsight) to produce training videos.  Expect to find all of my video training from Pluralsight.

Your First Day with PowerShell

You’ve decided to take the leap and begin learning PowerShell, but you don’t know where to begin or what to do first. In this course, Your First Day with PowerShell, you’ll learn the fundamental knowledge of Powershell and how to utilize the program efficiently. First, you’ll explore the critical skill of how to use the Powershell help system. Next, you’ll discover how to use commands and be introduced to aliases, cmdlets, providers, and psdrives. Finally, you’ll learn how to configure, navigate, and get the most out of the different PowerShell consoles. By the end of this course, you’ll develop an understanding of the fundamental knowledge to efficiently utilize Powershell.


Putting PowerShell to Work

So, you’ve been reading blog posts, searching the Internet, and running commands in PowerShell, although you really don’t understand what you are running or why it works the way it does. In this course, Putting PowerShell to Work, you’ll learn how to build your skills to be a more efficient PowerShell user. First, you’ll discover how to use PowerShell effectively from a command prompt. Next, you’ll explore how objects work in the pipeline with cmdlets. Finally, you’ll gain an understanding of how PowerShell’s formatting system works, and why. By the end of this course, you’ll have the necessary knowledge to begin making PowerShell work effectively for you. Software required: Windows 10 system.


PowerShell on the Network

Windows PowerShell is a terrific tool, but naturally you need to use it more than just on your local computer. In this course, PowerShell on the Network, you’ll learn how to put PowerShell to work for you in a networked environment. First, you’ll discover how PowerShell handles traditional or legacy remoting. Then, you’ll explore the modern way PowerShell works in a network environment, and how easy it is to run a command on one or 100 remote servers. Finally, you’ll learn how to get management information from your servers with WMI and the CIM cmdlets. When you’re finished with this course, you’ll have the foundational knowledge for remotely managing servers and desktops in your network, and you’ll be ready to take on more advanced PowerShell networking topics.


Automation with PowerShell Scripts

You have reached a point in your PowerShell experience where you want to move beyond typing commands at a prompt. You want to automate processes and tasks so that they are consistent, documented and easy to run. This course is intended to provide the beginning scripting knowledge you need to begin automating your workload with PowerShell.

This course is in development.




Play by Play: PowerShell from Idea to Action with Don Jones and Jeff Hicks

DonJeffPlaybyPlay-smallThis course is something a bit different. I spent an hour with Don Jones in front of a camera talking about the process of using PowerShell to solve a problem. In the span of about an hour you’ll get a better understanding of how you might move from a problem or idea and how to begin solving it with PowerShell. There is a lot of banter and this is a rare opportunity to see Don and I together. I had a blast making this and hope you find it not only educational, but entertaining as well.


PowerShell Remoting Fundamentals

psremoting-smallI created this course to teach PowerShell beginners how to get started with PowerShell remoting. The course covers the basics about setting up remoting, how to use it in one-to-one situation as well as running commands on many remote servers at once. Also covers remoting security, including using SSL and topics such as Implicit Remoting and Disconnected Sessions.



Advanced Windows PowerShell DSC

advdsc-smallThis is the followup course to the DSC Fundamentals. This includes more advanced material such as working with certificates and setting up SMB or HTTP Pull servers. The course includes in-depth walk-throughs of configuring a Windows based server with DSC as well as configuring a Linux installation.



PowerShell DSC Fundamentals

dscfun-smallThis is my introduction course to using Desired State Configuration (DSC) with PowerShell 4.0. It covers the concepts, terms and basics of using DSC with an emphasis on using the Push model.



PowerShell v4 New Features

This course is intended for IT Pros with previous PowerShell experience, presumably PowerShell v3, who want to get up to speed on the new features and benefits of PowerShell v4. The course includes an introduction to Desired State Configuration (DSC).




I hope you find my efforts worth your time and money. Thank you.