Ezine 152 - Three Key PowerShell CommandsIntroduction to Three Key PowerShell CommandsHere are three simple, yet key commands, which are designed to get you started with PowerShell. As you study, these cmdlets keep in mind the golden rule, verb-noun, for example, get-PSProvider. This Week's TopicsPre-requisitesYou have downloaded PowerShell and .Net Framework from Microsoft's site. Look out for a specific version for XP, Vista, or Windows Server 2003. 1. Get-Command
Let us begin by testing get-Command. What this instruction does is list all of PowerShell's noun-verb pairs, which are also referred to as built-in cmdlets. Assuming that you have opened a
PowerShell session, then you should see a prompt like: PS > Now type just one hyphenated phrase: To filter the list, employ the famous star * wildcard; here are three examples:
Let us experiment with a variation of this wildcard theme which
displays only cmdlets beginning with the verb 'set': It is possible to tweak the display of your output columns with 'ft' (Format-Table). My hidden agenda here is to give you
practice with PowerShell's Pipe symbol (|), try: At the moment we are just 'playing', testing, or feeling our way, thus do feel free to experiment with your own variations of my suggestions. Once you have seen the long list of all possible commands, chose one example for further research, for example: Get-PSProvider (Or plain: PSProvider) This is what happened when I typed just: get-Psprovider <carriage return> Name Capabilities Drives Challenge: try Another Command PSSnapin What PSSnapin does is reveal the sources for the built-in cmdlets: Get-PSSnapin Note how every PowerShell noun is singular, PSSnapin, Command, PSProvider. Also note how a Pipe (|) followed by ft means format the output as a table, as opposed to format the results as a list (fl). Any words which follow 'ft' are names of the fields, each separated by a comma. At the end of the above command is the switch -autosize, this extra parameter tells PowerShell to close-up the width of the columns. When ever you use format-table, or ft, try appending -autosize, or the shorter version: -auto. In the example below, I have used ft to omit the Description field and just displayed the name: Name 2. Get-HelpAvoid arrogance, put aside pride, and call for PowerShell's built-in help. We all have to learn somewhere and only you know what you type in the privacy of your PowerShell command line. Perhaps what puts us off trying built-in help is a bad experience with the stilted help of an old DOS system. Dare I suggest that experience with internet search techniques makes us more willing to try a modern application's own help? PowerShell's help has some interesting switches, such as: -full and -example. Incidentally, -exampleS also works, a rare case of a plural PowerShell noun. Get-help get-wmiobject Note: Get-help does not require the pipe symbol.
In fact, the pipe (|) only gets in the way of get-help; PowerShell does its best to interpret: If you are looking for handy network utilities, try some of the free downloads at Tools4Ever PowerShell's Hidden 'About' filesIn the PowerShell folder referenced by: $PSHome **, you will find a whole family of About help files. In these files, which all begin with About_, you will discover information on topics such as Foreach, If and ElseIf. My point is that you cannot get assistance by typing: get-help foreach, yet you can find a wealth of information if you read the file at: $PSHome\about_foreach.help.txt. Here is a cmdlet that reveals the names of these About files: # List all the About help files Result: A list of 55 files. (The precise number varies with each version of PowerShell). ** On my system $PSHome translated to: C:\WINDOWS\system32\WindowsPowerShell\v1.0 ˆ 3. Get-MemberLearn from my mistakes, and take a minute to imprint the format of this get-member command into your brain. The key point is that the object you want information about comes at the beginning, and not at the end of the command. My second error was (is) forgetting the pipe symbol. Here is the correct format: Wrong Worth a try: Call me lazy, or call me showing that commands are not case sensitive. My point is that get-Process, Get-Process and get-process are all interpreted identically. In PowerShell, capitalization of command statements has no effect on successful execution. See more on the get-member cmdlet Tab CompletionTalking of being lazy, PowerShell also supports a tab auto-complete feature. Once you have typed enough of a command to make it unique, you can press tab and PowerShell completes the rest of the command. get-process get-mem(tab) automatically expands to: get-process get-Member. As you can probably guess, this tab completion works for all commands not just this one. Incidentally, when you employ PowerShell's parameters you can take advantage of similar automatic completion, for example -auto instead of -autosize and -f instead of -filter. Once again, there are many more such auto-completions. Summary of PowerShell's CommandsTalk to an experienced PowerShell user, or talk to a teaching guru, they will each tell you that that the secret of success is simple, keep returning to the basics until you gain mastery. Those basics are: get-command, get-member and get-help. See more about PowerShell's key commands *
|
|||||