The philosopher Leibniz placed the windowless monad at the core of his philosophy -- we are such things, preprogrammed in such a way that everything will work out properly, and we will not run into puzzles arising from the interaction of mind and matter.  What a perfect code name, then, for the PowerShell language.  The Powershell team blogs extensively; what I want to address today are some good books on PowerShell.

Tyson's Kopcynski's Windows PowerShell Unleashed is a short 306 page volume that spends the first third of the book helping the reader distinguish what a shell and a shell language does as distinct from a general purpose programming language.  It has a good discussion of code signing, which may be the number one reason that PowerShell will ultimately triumph over vbs scripts and the like in your environment -- only the code you know and trust will run.  The second third of the book discusses file, registry, WMI, and Active Directory manipulations from within PowerShell.  He uses screenshots (white on black) extensively, which reduces the readibility of his text.  The last part of the book is a real gem, a discussion of the cmdlets (commands in Powershell) that ship with Exchange.  Anything you can do from the GUI in Exchange, you should be able to do with these cmdlets.  My review is based on the first edition, and the link is to the O'Reilly Safari edition.

If you have to teach a class on the subject, I would say that Kopcynski's book is the best of the three I discuss -- I used Cobol Unleashed (a much larger tome) to this end many years ago. 

An excellent reference is Ed Wilson's Windows PowerShell Scripting Guide, a fat 663 page volume from Microsoft Press.  Ed has written extensively on WMI.  If you have something you need to administer beyond the basics (such as the certificate store, or cluster services, or deployment), you probably should have a copy of this book.  It comes with an electronic version of the book on disk, and seems to be available at discounted prices. 

 My colleagues consider Bruce Payette's Windows PowerShell in Action to be the best PowerShell book.  Certainly, if you need to understand metaprogramming in PowerShell, and how to create your own cmdlets, it is where you need to go.  However, for most customers (particularly those without any academic background or interest in computer science), there are many things that are rough going, and it is hard to get a sense of what's the case 99% of the time, and what is just an outlier.