Eight Weeks of PowerShell
As I wrote a little bit ago my New Year's resolution was to see if I could make PowerShell my full time command shell. The good news is that after eight weeks, I'm still using PowerShell and enjoying it. As I still have fifteen years of CMD/4NT barnacles to scrape off, I still get tripped up every once in a while, but I'm slowly getting into the PowerShell mindset. I figure that after eight weeks I'm committed and that's definitely not a problem.
When I talked about my initial PowerShell usage, I mainly talked about things that tripped me up so this time I want to talk about some things that have helped solve some of those issues and have made life better for me. As several comments to my last PowerShell post mentioned, I needed to start using the PowerShell Community Extensions. I have and I definitely like. In all, it's added many of the features I wanted so I can see why it's so highly recommended.
I did have a few problems installing the PowerShell Community Extensions (PSCX) on Vista x64 so wanted to share how I got things working in case others ran into problems. The PSCX installer runs a custom action to call INSTALLUTIL.EXE to register the PSCX.DLL snap in. The problem is that on x64, the installer runs as a 32-bit application so it's registering with the 32-bit PowerShell, not the x64 version. After installing PSCX, run the following command to get everything registered:
"C:\Program Files (x86)\PowerShell Community Extensions\pscx.dll"
Also on x64, the PSCX install doesn't register the cool "Open PowerShell Here" right click option for directories in Explorer. To fix that navigate to HKEY_CLASSES_ROOT\Directory\shell\ and add a PowerShell key with a default value of "Open PowerShell Here". Add a key named command under the PowerShell key and add the following as the default value (one line):
After running the PCX installation, I didn't see any of the cool PCX commands in my tab completion. As I'm using the wonderful PowerTab from Marc van Orsouw, I simply ran the new-tabexpansiondatabase command and life was better.
One small script that's done more than anything to help me learn the way of PowerShell is Jeff Hillman's excellent Compile-Help.ps1. While it's great that PowerShell has a help system built into it from the beginning, sometimes you just need a better way of reading the help. Compile-Help enumerates through all the PowerShell Cmdlets, PSProviders, and "about" topics and compiles their output into a .CHM file. I ran Compile-Help after installing PSCX to ensure I had everything in the .CHM file. Continuing with my theme of having issues on x64, Jeff's original script didn't work on x64 so I fixed that.
On the editing front, both PowerShell Plus and Power GUI are gaining features and functionality at an amazing rate. I keep swapping back and forth between them because I like both of them. It's like both teams are working to outdo each other and we all benefit.
Finally, there's been one mystery I haven't been able to figure out that's related to PowerShell: is Jeffrey Snover a real person? Everywhere I look on blogs, news groups, and forums about PowerShell, there's a comment or post from Jeffrey answering the question. There's no way a single human being can be that active and still get a normal job done. "Jeffrey Snover" has to be a web crawling, artificial intelligence system cooked up by Microsoft Research. I'm kidding about Jeffrey not existing but you do have to wonder.
Seriously, one of the big reasons I got serious about using PowerShell is how active Jeffrey (and the rest of the team!) are about helping on blogs, news groups, and blog comments. When you have that much support for something new, it really makes a statement. The enthusiasm and evangelism for PowerShell by Jeffrey and the team should be a lesson to all of us.