November 2007

Essential Windows PowerShell Commands

Jumpstart your way into scripting with these 10 useful commands
RSS
Subscribe to Windows IT Pro | See More Scripting Articles Here | Reprints | Or get the Monthly Online Pass—only $5.95 a month!

Executive Summary:
Windows PowerShell is an extensible, objected-oriented scripting language with full support for variables, looping, and pipelining. Use the Get-Help cmdlet to learn more about other commands. Use Get-Alias to find aliases for commands. PowerShell also has commands for reading from or writing to a file, starting a debugger, and checking event logs.


PowerShell is an extensible, objected-oriented scripting language with full support for variables, looping, and pipelining. Microsoft has made Power- Shell the scripting framework for almost all of its new products. For instance, PowerShell is integrated into the management consoles for both Microsoft Exchange Server 2007 and the upcoming System Center Virtual Machine Manager 2007. However, while PowerShell represents a revolutionary step in Windows scripting, it’s also a very different technology from its predecessors, the Windows command shell and VBScript. PowerShell has a new set of commands (called cmdlets) and command syntax that you need to learn. To help you get up to speed, here are 10 essential PowerShell cmdlets.

10
Get-Help—The Get-Help cmdlet helps you learn how to use PowerShell. Get-Help not only explains the syntax of commands, but it also provides examples of how to use them. The following example shows how to use Get-Help to learn about the PowerShell Help system itself:

get-help

9
cd—You can use the good ole’ cd (Change Directory) command to navigate between folders. Under the covers, cd is an alias for the Set- Location cmdlet. What sets this command apart from the old Windows shell cd command is its ability to navigate the registry. To use cd to go into the HKEY_LOCAL_MACHINE\SOFTWARE subkey, you would enter

cd hklm:\software

8
Get-Alias—PowerShell has more than a hundred different aliases. Plus, you can create custom aliases with the New-Alias cmdlet. Use the Get-Alias cmdlet (or its alias, gal) to list all the Power-Shell aliases along with their native counterparts:

gal | select name, definition

7
Get-Command—You use the Get-Command cmdlet to retrieve a list of the hundreds of available commands. PowerShell’s support for wildcards helps you narrow your searches. The following example retrieves all the commands that begin with get:

get-command get*

6
Set-Content—Set-Content (or its alias, sc) is used to write values to a file. If the specified target file doesn’t exist, this command creates it. For example, the following command writes the value “My data” to the file named mynewfile.txt:

sc c:\temp\mynewfile.txt -value “My data”

5
Get-Content—The counterpart to sc is Get-Content (gc). The gc cmdlet is used to read the contents of a file. For example, the following command displays the contents of the file named mynewfile.txt:

gc c:\temp\mynewfile.txt

4
Set-ExecutionPolicy—By default, PowerShell’s ability to run scripts is disabled; you can only enter commands at the command line. The Set-ExecutionPolicy cmdlet lets you change the security level for running scripts. To enable PowerShell to run any script, you can enter the following command:

set-executionpolicy unrestricted

3
Set-PsDebug—Although PowerShell doesn’t have a full-featured debugger, it does have basic debugging capabilities through the Set-PsDebug cmdlet. Entering the following command will cause a PowerShell script to step through its execution one line at a time:

set-psdebug -step

2
Get-Process—PowerShell has great built-in commands that let you perform many tasks that formerly required resource kits or third-party tools. For example, the Get-Process cmdlet retrieves information about the active processes on a system. Use the following example to list all running processes:

get-process

1
Get-Eventlog—The Get-Eventlog cmdlet retrieves Windows event logs. As with Get-Process, there’s no need for additional utilities. The following example shows how you can retrieve the 10 most recent entries from the system event log:

get-eventlog -newest 10 -logname system

End of Article



Windows IT Pro Community
Blogs





Top Viewed ArticlesView all articles
No Jobs, No Excitement at Apple's Last Macworld Keynote

Apple CEO Steve Jobs made the right move in skipping out on his company's last appearance at Macworld: In a Tuesday keynote address at the conference, Apple had no interesting new products to sell, opting instead to spend mind-numbing amounts of time on ...

Command Prompt Tricks

One reader shares his tip for setting up the command prompt to reflect a remote path. ...

Where is Microsoft NetMeeting in Windows XP?

...


Related Articles Enhance PowerShell's Syntax Display

PowerShell 101, Lesson 2

Working with Shortcuts in Windows PowerShell

MacBook Air, Messaging, and the Exchange Server of the Future

Windows OSs Whitepapers Why SaaS is the Right Solution for Log Management

Related Events Virtualization Forum: Optimizing Storage, Networks, Desktops, and Security

PowerShell 201 - eLearning Series with Paul Robichaux

Check out our list of Free Email Newsletters!

Scripting eBooks Keeping Your Business Safe from Attack: Encryption and Certificate Services

Best Practices for Managing Linux and UNIX Servers

Building an Effective Reporting System

Related Scripting Resources Become a VIP member of the Windows IT Pro community!
Get it all with the VIP CD and VIP access. A $500+ value for only $279!

Subscribe to Windows IT Pro!
Solve your toughest technical problems with our experts and access 10,000 + articles online. 30% off

Monthly Online Pass - Only $5.95!
Get instant access to 10,000+ articles from Windows IT Pro Magazine!

TechNet Virtual Labs
Evaluate and test Microsoft's newest products.


SQL Server Magazine Office & SharePoint Pro Windows Dev Pro ITTV
IT Library Technology Resource Directory Connected Home Windows Excavator Windows SuperSite
 
 Windows IT Pro is a Division of Penton Media Inc.
 Copyright © 2009 Penton Media, Inc., All rights reserved. Terms and Use | Privacy Statement | Reprints and Licensing