Take Command with Monad
Monad (Monad Shell, MSH) is the name of the next generation command interpreter for Microsoft operating systems. While cmd.exe will not go away in Vista, Windows administrators clearly voiced their need for an alternative, more powerful replacement. Monad's designers had a bold vision: The system should be as interactive and composable as BASH or KSH, as programmatic as Perl or Python, as production-oriented as AS 400 CL or VMS DCL, and as embeddable as TCL or WSH. And the design goal was not to create yet another .NET programming language, but something approachable by administrators.
If all your previous scripting experience is cmd.exe, the book has excellent examples how to apply familiar constructs to MSH. But MSH goes far beyond what you can do with today's command environment. It handles the registry (accessible like a file system) equally well as XML files.
Monad's verb-noun model "cmdlet" syntax may look very unfamiliar at first, but the book is a great help quickly getting the hang of this new style in scripting.
Best of all for us .NET coders: MSH can handle any .NET types and naturally blends into the .NET managed environment. Best of all, you can pipe not only text, but actual .NET types like in
get-process | where-object { $_.Handles -gt 200 } | sort-object Handles
which will produce a list of all processes, filter out those with more than 200 handles, and finally sort the output table by the handles column.
Complementing what you have learned in the book, there is a rapidly growing collection of MSH Scripts in the Monad Script repository on Microsoft.com.
You can download the January 2006 Monad Beta from the Monad Portal on TechNet. To get familiar with Monad, you do not have to wait for Vista or Longhorn Server. Monad also runs on released operating Systems such as Windows XP SP2 or Windows Server 2003 SP1. The only essential prerequisite is having .NET Framework 2.0 installed on your machine.
|