What is it?
Windows Powershell has been hailed as the tool that grown-up
systems administrators, frustrated by progressive dumbing down of
their jobs by graphical user interfaces (GUIs), have been waiting
for. It has also been seen as a tribute to
Linux and Unix, which have always treated their systems
administrators as skilled professionals - though sometimes at the
cost of a daunting learning curve.
Powershell is a command line shell and scripting language, built
on top of the
.net Framework. It introduces cmdlets ("commandlets"), which
are single function command line tools built into the shell.
Powershell comes with more than 130 cmdlets, and users can build
their own to refine or automate tasks. They can be used separately,
or combined for more complex tasks.
Powershell can run with current and earlier Windows releases,
and is included with Windows Server 2008. Powershell is used in
many other
Microsoft Server Products, such as the Exchange Management
Shell shipped with Exchange Server 7, but overlaid by a GUI console
in SP1.
Where did it originate?
Prior to the release of Powershell (codenamed Monad) in 2006,
systems administrators had to rely on the very basic command line
interface tools shipped with MSDos and Windows, using APIs which
supported Jscript and VBScript for more complex scripting.
Powershell 1 for Vista was released alongside Vista in 2007.
Jeffery Snover, one of the architects of Powershell, says it drew
on the IBM AS/400 and Digital VMS command languages as well as on
Unix and Linux.
What's it for?
According to Microsoft, Powershell includes "numerous system
administration utilities, consistent syntax and naming conventions,
and improved navigation of common management data such as the
registry, certificate store, or Windows Management
Instrumentation." They describe the scripting language as
"intuitive".
Windows 2008 administrators use it for tasks such as automating
Terminal Server configuration changes, or deploying and configuring
IIS 7.0. Powershell also includes a managed hosting engine and APIs
enabling the Powershell runtime to be included in other
applications -and to support a graphical management interface for
the commandlets, as has been done with the management console in
Exchange Server 7 SP1. The APIs are being simplified in version 2
of Powershell.
Being built on .net, Powershell accepts or returns .net objects
rather than text. But despite this major change, Microsoft says
Powershell works with existing scripts and command line tools.
What makes it special?
As the Powershell team blog succinctly puts it, "if you work
with Microsoft Server products, you are going to be a Powershell
user".
How difficult is it to master?
Microsoft says Powershell is "easy to adopt, learn, and use
because it does not require a background in programming", but
others are not so sure: according to
O'Reilly's WindowsDevCentre, "starting to learn it, unfortunately,
can be a bit overwhelming at first."
What systems does it run on?
Powershell 1.0 supports Windows XP SP2, Windows Server 2003,
Vista and Windows Server 2008, though you will have to
download it from Microsoft
online for all except Windows Server 2008, where it is
available as an optional component on the installation disk or via
Server Manager. You will also need .net Framework 2.0.
What's coming up?
The second
Community Technology Preview of Powershell v2 is available from
Microsoft's download centre, although no release date is yet
planned.
Rates of Pay
Windows Server administrators £30,000 to £40,000.
Training
Powershell downloads include a getting started guide and free
primer, and links to sample scripts. There is a
free Powershell "owner's manual" online.