Ever since I heard of the concept of PowerShell (or Monad as it was known then) I was excited. Now that is been RTM for some time and I have had an opportunity to work with it in a production environment I love it even more.
While PowerShell could be summarised as a cross between a *nix shell and the .NET Framework there is still a lot unique to PowerShell alone and learning how it works and finding efficient tools to work with it is still necessary to make the most of PowerShell.
To learn PowerShell I purchased Bruce Payette’s book Windows PowerShell In Action. It is a good-size detailed book at over 500 pages and receiving both the soft-cover book and the searchable PDF was excellent value. Pretty much every aspect of PowerShell is described including why certain design decisions were made. My only issue with the book, and it’s not a big issue, is that I was itching to write some PowerShell scripts but script files aren’t explained until Chapter 8 and security for script files isn’t fully explained until Chapter 13 (the last chapter).
When I started to write my scripts I had the PowerShell console open on one monitor and Notepad open on the other. I would try certain commands in the console window and when they worked and gave the results I wanted I would copy them to the script in Notepad, save, and switch back to the console window to test the script. I still pretty much work like this today but I’ve replaced Notepad.
Considering I spend most of my time in Visual Studio I really wanted the same Intellisense and Syntax Highlighting experience when writing PowerShell scripts. The first PowerShell “IDE” I encountered was PowerShell Analyzer but I felt overwhelmed by the UI given that all I wanted was to edit .ps1 files. It seems very capable but just didn’t feel right. More recently I have tried PowerGUI and it is very close to “Notepad for PowerShell”. I have used it to develop the scripts for the last two PowerShell posts and I recommend it.
Do you have any resources you feel have been invaluable for getting the most out of PowerShell?