Вы находитесь на странице: 1из 6

Windows PowerShell Cmdlet

PowerShell Tutorial 2: PowerShell Commands Cmdlet

The concepts in this tutorial have come from my readings of Bruce Payette's book Windows
PowerShell in Action. Bruce is a founding member of the PowerShell team and is a codesigner of the PowerShell language. His book is highly recommended and has been made
available from this site. Who better to learn about PowerShell than from the designer himself!
There are four categories of PowerShell commands: Cmdlet (Command-Let), PowerShell
Functions, PowerShell Scripts, and native Windows commands. Each category will be
examined in tutorials on this site. Lesson 2 focuses on the PowerShell cmdlet, so let's get
started
cmdlet naming convention
There are over a hundred new PowerShell commands to learn, but no need to panic. Unlike
most other command-line interfaces, PowerShell commands have been standardized using a
"verb-noun" naming convention know as a cmdlet. This standard simplifies the learning
curve and provides a better description of what the cmdlet does. To see a list of cmdlets
available in PowerShell type the following cmdlet:
get-command <enter>
Note: <enter> denotes typing the Enter/Return key on your keyboard.

Image 2.1
The "Name" column lists the cmdlets in the "verb-noun" naming convention.
Next, let's list all the commands that use a specific verb. The following command yields all
cmdlets that use the verb "Get."
get-command -Verb Get <enter>

Image 2.2
Play around with the -Verb parameter, try finding commands that use the verbs; Add, Clear,
New, and Set.
Getting commands that use specific nouns is just as easy. Type the following command to see
which cmdlets use the noun "Service."
get-command -Noun Service <enter>

Image 2.3
Just as it sounds, the verb describes an action and the noun describes the "what" to take the
action against. One thing I want to mention before moving forward, the PowerShell
command line is not case-sensitive. In PowerShell "get-service" or "Get-Service" or even
"GeT-SerVIce" is the same command.
Getting help
In learning new technologies, it is important to find information quickly and easily. Get-Help
cmdlet has been designed for that purpose; this will be the most utilized cmdlet until you
become more proficient.
Get-Help Examples:
Information about Get-Help cmdlet. Includes description, syntax, and remarks.

Get-Help
Information about all available help topics.
Get-Help *
Information about a specific cmdlet.
Get-Help Get-Service
Two other forms of the Get-Help cmdlet exist, the noun "Help" and the "-?" parameter. Help,
by itself provides the same info as Get-Help *. Use Help with a cmdlet as follows, Help GetService. With the help parameter, Get-Service -?. The Scripting Guys created a graphical
Help file which is available on this site. Located in the Categories -> PowerShell Downloads
-> PowerShell Graphical Help File. The Graphical Help file is great tool for learning and
reference, I recommend downloading it.
Using cmdlets
In this section I will be using Service to demonstrate cmdlets. Image 2.3 lists eight cmdlets
associated with the noun Service: Get-Service, New-Service, Restart-Service, Set-Service,
Start-Service, Stop-Service, and Suspend-Service. Not only will we be running cmdlets from
the PowerShell command line, I'm also going to explain it graphically. O.k. that sounds kind
of graphic what I mean is I'm going to describe the equivalent action taken when working
in GUI tools. I find this a tremendous help when attempting to understand new concepts.
What services are on the computer? Type the following cmdlet:
get-service <enter>

Image 2.4
You should now have a list of services on the computer as well as their status, similar to the
list above. Which GUI tool gives us the same information? The Services MMC (Microsoft
Management Console). Launch the Services MMC from Start -> Programs ->
Administrative Tools -> Services. If Administrative Tools are hidden from the Programs
Menu, you can launch it by typing services.msc from the PowerShell command-line. As

stated earlier, one of the PowerShell command categories is "native windows commands."
This is how we are able to launch services.msc from the PowerShell command-line.

Image 2.5
Exercise 1: Stopping and Starting a Service.
For this exercise I will be using both the Stop-Service and Start-Service cmdlets. To
demonstrate, I have chosen the "Computer Browser" service for this example. The current
status of the Computer Browser service is "Started" and the "Status Type" is "Automatic." For
this exercise it is important that you choose a service that has a status type of either automatic
or manual. If you choose a service with a status type of disabled, this exercise will not work.
The following syntax stops a service: Stop-Service [-name] or Stop-Service [displayName]. This is not the complete syntax for the Stop-Service cmdlet. If you want to
see the full syntax, use the Get-Help cmdlet as discussed earlier. To begin, let's show the
status of the Browser Service. Then Stop it using the Stop-Service cmdlet. Lastly check the
status. Type the following cmdlets:
Get-Service -name Browser <enter>
Stop-Service -name Browser <enter>
Get-Service -name Browser <enter>

Image 2.6
Note: When you run the Stop-Service cmdlet there is no indication that the service has
actually stopped. This is why I ran the Get-Service command to verify the status
changed to "Stopped."
We should see the same change in the Services.msc GUI. In the GUI a Status of "Blank"
means "Stopped."

Image 2.7
The following syntax will start a service: Start-Service [-name] or Start-Service [displayName]. Look familiar? Again, let's check the status, start the service, and verify the
status has changed.
Get-Service -name Browser <enter>
Start-Service -name Browser <enter>
Get-Service -name Browser <enter>

Image 2.8
Check the GUI, the status of Browser should be "Started" (make sure to refresh the view).
This exercise should give you an indication of the benefits of using PowerShell. With just a
couple of cmdlets we were able to stop and start a service. Traditionally, an Administrator
would launch the GUI, select the service, and then either stop or start it. Doesn't seem like a
big deal until you are asked to stop a service on multiple computers. Through PowerShell
Scripting you will be able to start, stop, and change status types of a service on multiple
computers without much effort. Write a script, run-it, and then kick you feet up on the desk.
This tutorial has introduced the PowerShell naming convention, cmdlets, getting help, and an
example of using the Service cmdlet. As stated before, there are over a hundred cmdlets in
PowerShell. This should be enough to keep you busy for awhile. See you in the next tutorial
where we will be covering PowerShell Aliases.

Вам также может понравиться