Eight Weeks of PowerShell

8 Comments February 17, 2008


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:\WINDOWS\Microsoft.NET\Framework64\v2.0.50727\InstallUtil.exe
"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):

"C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" -NoExit
-Command [Environment]::CurrentDirectory=(Set-Location
-LiteralPath:'%L' -PassThru).ProviderPath"

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.


8 Comments

  • Gravatar Image
    /\/\o\/\/ February 17, 2008 3:57 AM

    John,

    Great to hear PowerTab is helping you with you PowerShell adventures.

    A remark about the way you updated the database :

    as the new-tabexpansiondatabase will completly re-create the database from scratch, the recommended way to add the new .NET classes is :

    Update-TabExpansion (does also update WMI )
    or

    Update-TabExpansionTypes

    This will keep any custom additions and settings in the database intact :

    To only add a specific .NET assemble you can also use :

    add-TabExpansionTypes (get-assembly PSCX)

    to save changes for later sessions you can use use : Export-tabExpansionDataBase

    Enjoy,
    Greetings /\/\o\/\/

  • Gravatar Image
    jrobbins February 17, 2008 7:03 AM

    /\/\o\/\/,

    Thanks! I greatly appreciate the hint.

    Your PowerTab is so great, I think Microsoft should buy you. PowerShell is unusable without it.

    - John Robbins

  • Gravatar Image
    Jason Haley February 17, 2008 11:55 AM

  • Gravatar Image
    Kirk Munro February 17, 2008 6:31 PM

    Hi John,

    It's nice to hear that you're enjoying PowerGUI. It is a truly great product. I liked it so much I joined the PowerGUI team last November! :)

    I'd love to hear any feedback you have about it whenever you have the time. The great thing about PowerGUI is that it has totally grown through community feedback, and continues to grow that way today, so please don't be shy and let us know what you like or dislike or if there are things you would really like to see either on the PowerGUI forums, on my blog, or via email (you can get this off of my MVP page).

    I look forward to more feedback! :)

    Thanks,

    --
    Kirk Munro [MVP]
    Poshoholic
    http://www.poshoholic.com

  • Gravatar Image
    PJ February 19, 2008 12:37 AM

    ...reinventing zsh one step at a time, eh?

  • Gravatar Image
    John Robbins' Blog April 20, 2008 7:18 PM

    Everyone uses Mark Russinovich's and Bryce Cogswell's excellent Sysinternals Tools. Tools like Process

  • Gravatar Image
    Jeffrey Snover September 30, 2010 5:41 PM

    Hey... glad you like it!

  • Gravatar Image
    Jeff Hay-Roe September 30, 2010 5:57 PM

    Sorry about my joke comment pretending to be "Jeffrey Snover" a few minutes ago. I just read your older "New Year's Resolution" entry and saw that Jeffrey Snover really did reply to that one, which made my joke not so funny.

    I have been clinging tenaciously to 4NT for a very long time. I'm giving PowerShell a try, starting today.

Have a Comment?

Archives

Blogs