Welcome to the Windows PowerShell Graphical Help File. This is actually the same Windows PowerShell help file that you’ve come to know and love; the Microsoft Scripting Guys have simply wrapped the PowerShell help files into a more user-friendly (and fully-searchable) format. In this file you’ll find:

 

  • Windows PowerShell cmdlet help.
  • Windows PowerShell “About” files.
  • The Script Center ’s VBScript to Windows PowerShell Conversion Guide.
  • The Windows PowerShell Beginner’s Guide, featuring articles from the Script Center ’s Windows PowerShell Owner’s Manual.
  • A complete collection of the Script Center ’s PowerShell tips of the week.

 

And here’s a cool little trick: by adding a simple little function to your Windows PowerShell profile you can access this help directly from the PowerShell command prompt. Need help on the Get-Service cmdlet? Well, once you add the function to your profile you can access the graphical version of Get-Service help by typing the following at the command prompt:

 

Get-Guihelp Get-Service

 

Do that and this .chm file will pop up, opened to the Get-Service page. You’ll find the function at the bottom of this page.

 

Other than reformatting and adding hyperlinks, the help topics found in this file are essentially unchanged from the help topics that shipped with Windows PowerShell 1.0. The Scripting Guys did minimal editing, although we did make a few corrections along the way. If you run into problems please send mail to scripter@microsoft.com ; we’ll fix these issues as we go and, when the time seems right, release an updated version of the graphical help file.

 

If you have questions, concerns, or suggestions please let us know. Otherwise, have fun!

 

Oh, and here’s the function Get-GuiHelp. A special thanks to Sean McCoy and Justin Vander Ziel for pointing out a minor problem that popped up if you called Get-GuiHelp without supplying any command-line arguments:

 

function get-guihelp

{

 

if (!$args[0])

    {$a ="HH.EXE mk:@MSITStore:d:\powershell help\powershell.chm::/test.htm"

     Invoke-Expression $a;break}

 

   if ($args[0].contains("about_"))

 

       {$a = "HH.EXE mk:@MSITStore:d:\powershell help\powershell.chm::/about/" + $args[0] + ".help.htm"

        Invoke-Expression $a}

 

   elseif ($args[0].contains("-"))

 

       {$a = "HH.EXE mk:@MSITStore:d:\powershell help\powershell.chm::/cmdlets/" + $args[0] + ".htm"

         Invoke-Expression $a}

 

   else

 

       {if ($args[0].contains(" "))    

 

           {$b = $args[0] -replace(" ","")

            $a = "HH.EXE mk:@MSITStore:d:\powershell help\powershell.chm::/vbscript/" + $b + ".htm"

            Invoke-Expression $a

           }

 

       else

  

           {$b = $args[0]

            $a = "HH.EXE mk:@MSITStore:d:\powershell help\powershell.chm::/vbscript/" + $b + ".htm"

            Invoke-Expression $a

            }

 

$a

       }

}

 

 

Note that we used the path D:\PowerShell Help. Why? Because that’s the folder where we stashed our copy of the .chm file. You might have to change this path depending on where you store yourcopy of the .chm file.

 

If you’re not sure how to add a function to your profile, see this Web page for more details.