Learning PowerShell and all it’s features can seem daunting so it’s best to pick up the basics and start using that knowledge by trying things out. When you get stuck knowing how to use Get-Help and other useful commands will help you figure things out as you go.
Making a habit of using the help built right into PowerShell instead of running to a Google search saves precious time and effort.
Even if you’re a complete beginner using PowerShell and the only thing you know about commands is that they begin with
get-, you’ll still be able to learn more by simply pressing the TAB key on your keyboard.
On first press,
get- will become
Get- and on second press, you’ll be asked if you want to see over 1000 possibilities. Since that’s too many, press
Instead we can filter the results by typing
Get-c and this time pressing TAB twice shows us all the Powershell commands that begin with
Get-C. You’ll see commands listed like
By simply pressing the TAB key, PowerShell will remind you of half remembered commands, help you find new ones and auto-complete commands to save you typing, especially with long commands (type in enough of the command until there are no other matches and press TAB).
We found a command called
Get-Culture by using the TAB key but what does it do? We can find out by using the
We get the help entry for this command:
The synopsis and description sections give us enough info to understand what the command does (it gives us locale and language settings).
The command results show that the culture settings on my computer are for the UK:
One of the most useful parameters (or switches) when using Get-Help is the -Examples switch which includes examples of how to use the command:
Get-Help Get-Culture -Examples
You’ll find that looking through the examples will show you how to solve the problem at hand in most cases.
PowerShell generally uses the naming convention:
(descriptive action)-(identifying name)
Anytime you need to find a command to help with something you’re working on, you can take advantage of the verb-noun standard by using the
Get-Command -Verb Get
This lists all the commands that start with Get-, and if you want to find other verbs, you can use the
Get-Verb command. You could even see all commands based on the available verbs:
Get-Command -Verb (Get-Verb).Verb
Using the wildcard
* is more useful when you need targeted help like finding a command that has the word computer in the noun:
Get-Command -Noun *computer*
If you needed to restart your computer using PowerShell, the
Restart-Computer command looks like a good candidate. How can we be sure? Use the
Get-Help command of course!
You’ll find it can be used to restart your local computer but can also be used to restart a remote computer. You could also restart serveral remote computers and if you’re looking for automation, you could restart several computers remotely based on a list of computer names in a text file.
I think you get the idea. Using the
Get-Command with the
-Noun switches along with the wildcard
* can help you find a command for exactly what you need to do.
The help documentation for PowerShell is regularly updated and it’s a good idea to stay up to date by using the
Update-Help command every so often:
Note: I suggest using the
-UICulture switch and setting it to
En-US. I live in the UK and find that the update fails without this switch.
The other option to get the latest help files is to use the
-Online switch which opens the latest help content in your default browser:
Both these options assume you have an internet connection on the computer or server you’re working on.
Sometimes you have some more time to investigate further or feel like you need to learn more about a specific topic. No problem!
Check out the
about* pages which provide a wealth of information for the curious:
In this example, we’ve used the wildcard
* again. If you’re not sure what it does exactly, you can find out in the
Learning in small chunks regularly is an effective way of learning and retaining information. Using the PowerShell help documentation as and when needed is a way of focusing on the problem at hand and finding a solution that works at the time.
You may find that as your knowledge builds you find a better way of solving the same problem but remember without the initial methods learnt you’ll probably never get to the better ways of doing things in PowerShell.