Overview and Beginning Tasks

Powershell is a shell and scripting language that is a combination of command line and vbscript that utilizes .Net architecture. It is a powerful scripting language allowing you to interface with Microsoft products, including Active Directory, SQL and Exchange.

Currently Powershell is operating on version 2.0 and comes standard on Server 2008 and 2008 R2 as well as Windows 7. Older operating systems will require Powershell to be installed. On windows 8 and server 8 Powershell 3.0 is currently in beta. The beta version of Powershell is available for download and does work with older Microsoft OSs.

I never believed that I would fall in love with any programming/scripting language. Powershell gives me the ability to manage thousands of users and their information in a quick and simple fashion. I am able to change a single objects information, or the information for an entire organizational unit.

Before You Begin

Make sure you have Powershell installed. In addition to this, most scripts will require Powershell to be launched as Administrator.

By default Powershell's execution policy is set to Restricted. In this mode no scripts can be ran. This setting can be changed between 4 different modes.

Restricted: No scripts will be ran
Remote Signed: Scripts downloaded from the internet will need to be signed, but any scripts you write can be executed.
All Signed: All scripts need to be signed in order to run.
Unrestricted: All scripts will run.

More information regarding these states can be found by using the following command:

Get-Help About_Signing

To change this setting launch Powershell as Administrator and enter the following command:

Set-ExecutionPolicy RemoteSigned

Now you are able to execute powershell scripts that you have created.


Powershell can be written in numerous programs. Scripts need to be saved as .ps1 in order to be executed in Powershell. While you can script in Notepad I recommend Powershell GUI. It is fantastic and integrates cmdlets and add-ons.