Home > Computers and Internet > Selling a ‘C#’ Shell & More…

Selling a ‘C#’ Shell & More…

05-Feb-07 10:44 am EDT Leave a comment Go to comments

Well it looks as if they’ve finally managed to retire the necessity of MS-DOS – once and for all.

Is this really news?  Well – yes it is.  Until now many might have been under the mistaken impression that Windows XP’s release was the death knell of MS-DOS.  But the truth is that the legacy "shell" for Windows-based technologies still had a place in the Windows systems archicture – as the core command-line interface for accessing key parts of the operating system.  For example, batch files which could be used to setup user profiles or conduct other operations triggered by system events or certain kinds of user interactions amongst the operating system and applications hosted by it.  In fact, such functionality isn’t germane to Windows – UNIX operating systems have sevearal popular shells which access key elements of the kernel and can manipulate how and when hosted applications perform tasks.  As can shells in many other operating systems.  So what’s different and so much better about this new Windows shell?

Well, in short, it’s all about the scripting.  The Windows PowerShell is an innovation based upon the .NET Framework 2.0 & can leverage the .NET API to get tasks done by accessing the .NET assemblies as directly as any .NET application.  The commands are oriented around the objects of the .NET SDK, and can readily extend them, which differentiates it from the older MS-DOS, which had to either have commands exist in the current path or in one of the folders cited in the %path% system variable.  MS-DOS knew nothing about what commands were specifically valid for it – even basic commands like "dir" were the product of DIR.EXE in the %system% path.

So is using PowerShell like programming then?  Well, no – command-line operations wouldn’t always be practical reduced to lines of programming code.  Instead, PowerShell introduces the concept of a "CmdLet" which groups units of functionality into a command lexicon of ‘verb-noun’ syntax, around specific OS elements.  For example, ‘Get-ChildItem’ is used to "get" (i.e. retrieve/display) information about a "childitem", which refers to a container, like a folder (default) or another system container like a registry node or certificate store (parametrically indicated).

Creating one’s own CmdLets is done per the usual route of creating Windows "snap-ins", which is to say compiling code written under the .NET framework using a tool like Visual Studio or even a free tool like C# Express.  Once the snap-in is compiled, one simply adds it to the PowerShell and a new element is created.

Obviously, this creates a powerful scripting environment for either the system admin or software developer, although there’s no question that the learning curve for the latter will be likely much shallower than the former.  To make things a little easier, PowerShell embraces the popular shell concept of aliasing; and a number of common UNIX-based commands along with MS-DOS command aliases are included with the install.  And, not sure if this is an oversight, but Windows Vista isn’t supported by PowerShell for some reason yet (Microsoft promises this ‘soon’).  But, even so, I’d expect PowerShell to continue to gain steam in the marketplace – the twilight of MS-DOS is, indeed, finally upon us.

  1. Ross
    02-Sep-07 02:47 pm EDT at 02:47 pm EDT

    A thanks to "PowerShelllGuy" – both for visiting my blog, and adding this bit of info.  Indeed, if it was released (non-beta) at the point the original blog article was written, I couldn\’t find it anywhere.  It was definitely made available, non-beta, and generally shortly after this post on the pages I normally frequented to get the download.


  2. MOW
    06-Feb-07 05:13 pm EDT at 05:13 pm EDT

    PowerShell for Vista was released 01/29/2007 (not all pages seem updated yet.)
    Greetings /\\/\\o\\/\\/


  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s


Breaching the barrier between PC and Console.

Terry Glavin


Techno Manor

Geek's Corner


an IT blog.. and an occasional rant

Yammer Site Status

Is Yammer down? Offline? Broken? Undergoing scheduled maintenance? When will it be back? Find out here.


A journey full of wonderful experiences

Azure and beyond

My thoughts on Microsoft Azure and cloud technologies


Startup and Technology News

Ottawa Citizen

Ottawa Latest News, Breaking Headlines & Sports

National Post

Canadian News, World News and Breaking Headlines

Targeted individuals's

One Government to rule them all.

Joey Li's IT Zone

Everything about IT


Unravelling the magik of code...

The Bike Escape

Because Cycling is Life

The Ross Report

Now you know where you need to know more...

Lights in the Dark

A journal of space exploration

Strength Rehabilitation Institute

Bridging the gap between physiotherapy and exercise.

Little Girl's Mostly Linux Blog

Nothing to see here. Move along...

%d bloggers like this: