When Windows PowerShell first came out, there wasn't much documentation to help people learn this new command-line and scripting environment. That's steadily changing. In fact, Microsoft recently released the Windows PowerShell Graphical Help File, which is a .chm file that contains the set of Help files that you'd normally access through the PowerShell command window. The PowerShell Graphical Help File (PowerShell.chm) can be especially helpful to those people who want to see what PowerShell offers without having to download it. The PowerShell.chm file contains not only detailed information about each of the PowerShell cmdlets but also useful information on scripting concepts such as arrays, operators, and parameters.

You can download PowerShell.chm from the Microsoft Download Center. If you're running Windows Vista, Windows XP, or Windows Server 2003, you can download version 2.0 from the Windows PowerShell Graphical Help File (Version 2.0) download page. If you're running an earlier version of Windows, you can download version 1.1, which works on Windows NT or later, from the Windows PowerShell Graphical Help File download page. No matter what version you download, you don't need PowerShell or the Microsoft .NET Framework installed.

Another helpful resource to use when you're learning PowerShell (or if you just want to explore it) is a guide named "What Can I Do With Windows PowerShell?" This guide explores the cmdlets by the tasks you can perform with them. There are 11 initial task areas:

  • "Dates and Times"
  • "Files and Folders"
  • "Help and Information"
  • "Saving and Importing Data"
  • "Scripting Techniques"
  • "Scripts and Applications"
  • "Security and Security Descriptors"
  • "System Administration Tasks"
  • "Windows PowerShell Aliases"
  • "Windows PowerShell Drives and Namespaces"
  • "Windows PowerShell Sessions"

Each task area is then broken down further. For example, the "Files and Folders" task area is broken into the following tasks:

  • "Copy Files or Folders"—links to a Web page that discusses how to use the Copy-Item cmdlet
  • "Create a New File or Folder"—links to a Web page that discusses how to use the New-Item cmdlet
  • "Delete a File or Folder (Or Other Objects)"—links to a Web page that discusses how to use the Remove-Item cmdlet
  • "Move a File or Folder"—links to a Web page that discusses how to use the Move-Item cmdlet
  • "Rename a File or Folder"—links to a Web page that discusses how to use the Rename-Item cmdlet
  • "Replicate (and Improve Upon) the DIR Command"—links to a Web page that discusses how to use the Get-ChildItem cmdlet
  • "Retrieve a Specific Item"—links to a Web page that discusses how to use the Get-Item cmdlet
  • "Verify the Existence of a File or Folder"—links to a Web page that discusses how to use the Test-Path cmdlet

I found the information in the "What Can I Do With Windows PowerShell?" guide quite helpful. However, sometimes the cmdlets you think should be in a task area aren't included in that area. For example, when I was searching for information about how to use the Get-Content cmdlet to retrieve the contents of files, I was surprised to find that it wasn't part of the "Files and Folders" task area.

When I started searching through the guide for the Get-Content cmdlet, I noticed a pattern in the URLs, so I tried an experiment, which ended up working well. If you want to quickly retrieve information about a specific cmdlet without having to navigate through the guide, use the URL

http://www.microsoft.com/technet/scriptcenter/topics/msh/cmdlets/cmdlet-name.mspx

where cmdlet-name is the cmdlet's name. This works for all the cmdlets that the guide covers. (The guide doesn't cover all the cmdlets at this time.) For example, I used the URL

http://www.microsoft.com/technet/scriptcenter/topics/msh/cmdlets/get-content.mspx

to get to the Web page that discusses how to use the Get-Content cmdlet.

Later when I was looking for information about another cmdlet, I stumbled across where the Get-Content cmdlet was located. It was under the unintuitive task area of "Saving and Importing Data." I'm glad I used the URL to find that cmdlet's Web page.