Powershell & cmdlet - In a Nutshell - Part 2 - About Cmdlets

About cmdlets:  

After entry of Exchange Server 2007, there is a famous buzzword called "cmdlet" started revolving. In this series, we'll look some of its features, usage and importance in Exchange Server 2007 environment.

What is a cmdlet?

A cmdlet, pronounced "command-let", is the basic unit of Microsoft Shell (codenamed Monad). The Microsoft Shell (Monad) is a break through console shell for Windows. It's designed for the manipulation of objects. 

They resemble built-in commands in other shells, for example, the Dir command in cmd.exe.

Advantages of cmdlet with other Existing shells:

  • cmdlets can be called directly from the command line in Exchange Management Shell and run under the context of shell (not as separate process)
  • Unlike in other shells, in the Exchange Management Shell, cmdlets have descriptive verb-noun names.
  • In Unix and Linux environments, shells pipe text from one application to another
  • Monad allows the piping of .NET objects in Windows Environment using console shell.
  • In traditional shells, the commands are executable programs that may vary from very simple to very complex.
  • For Example, in Windows Powershell, we have a new feature  "single-feature command - cmdlet" that manipulates objects in available in Windows PowerShell. 
  • Most of the cmdlets are simple and designed to be used in combination with other cmdlets.

Adjoining issues:

Monad is revolutionary because text strings were a limitation. Lets we understand how it works.

  • Normally in any console shell, data had to be represented in text & it needs to be broken up into units so that other programs could understand.
  • In Unix or Linux environments to achieve the functionality we need to on depend program like grep to do that.