I attended the Fall 2003 Windows & .NET Magazine Connections Conference, and during his keynote address, Mark Minasi talked about a new Microsoft scripting environment. According to Minasi, Microsoft is working on a new systems administration scripting environment, code-named Monad, that will be part of Longhorn. Can you provide more information?
At the 2003 Microsoft Professional Developers Conference (PDC), Microsoft announced and demonstrated many new Longhorn technologies, including Monad. Although I can't provide any more information than what was presented at PDC, I'll recap the technology preview and point you to resources where you can get more information.
Monad is a new administration scripting and automation solution for Longhorn. Although the technology is roughly 2 years away from being released, Monad appears to be Microsoft's long-awaited comprehensive, consistent, and unified systems administration model designed from the ground up for Windows IT professionals. From what I can tell, Monad will be the technology through which Microsoft and Independent Software Vendors (ISVs) will enable their Windows applications to be managed from the command line and automated using shell scripts.
Based on the information that was shared at PDC, Monad will provide a new console-based command shell named Microsoft Shell (MSH, which is pronounced mish), new commands called cmdlets (pronounced command-lets), and a new shell-scripting language. On the surface, you can think of Monad in terms of what Bourne Again Shell (Bash) is to Linux or Digital Command Language (DCL) is to OpenVMS. However, Microsoft's future command shell is far more powerful than traditional text-based command shells, according to PDC attendees who witnessed Monad in action.
Monad's power is derived from the fact that Monad is built on top of the Windows .NET Framework. What does that mean to you? For those of you who read "Understanding the .NET Framework's Effect on Scripting," February 2003, http://www.winnetmag.com/windowsscripting, InstantDoc ID 27572, it means you're finally getting a glimpse of Microsoft's future—a Microsoft .NETsavvy systems administration scripting solution. So, contrary to what some industry pundits would have you believe, the Framework does affect you and will become increasingly important as the Windows platform evolves. It also means Monad will be able to leverage powerful .NET capabilities, including reflection. The basic idea behind reflection is that you'll be able to obtain information about code (e.g., Monad cmdlets) and data at runtime. Obtaining this information at runtime can be useful in several ways. For example, you can use reflection to provide user documentation about the code and data as a cmdlet runs.
In addition to all the common command-shell capabilities and features you might expect, such as those found in cmd.exe and Bash, Monad includes many innovative features that are certain to have a positive impact on your productivity (which has the added benefit of reducing IT costs). For example, one of the PDC demonstrations showed how you can use Monad to mount, navigate, and manage the registry directly from the MSH command line. To put this into perspective, consider how you use the command line to navigate and manage files and directories today. Monad extends this capability, with the same ease of use, to other namespaces, such as the registry and Active Directory (AD).
You'll be able to chain together multiple cmdlets—a process known as pipelining—to perform compound systems administration tasks. The difference between Monad pipelining and other forms of pipelining (e.g., those in cmd.exe or Bash) is that Monad lets you pipe structured .NET objects from one cmdlet to the next. The end result is an environment that's far more flexible than command-line tools and utilities, which simply spew out unstructured text. Secure remote command-line scripting is yet another fundamental Monad feature.
So, where can you go to learn more about Monad? Admittedly, information about Monad is sparse, and for good reason—as I mentioned previously, the technology is roughly 2 years away. Keep in mind that the purpose of the PDC technology preview is to get an early release of the technology into the hands and brains of developers so that they can make informed product decisions. Although I've said this before, I think it bears repeating here: Developers often lead technology change, whereas systems administrators wait for the dust to settle. With that in mind, my advice to you is to stay the course with whatever command-line and scripting technology you're using today. When Longhorn beta announcements start flooding your Inbox, start evaluating the technology as you would any new technology.
If you like living on the edge and want to learn more about Monad, perhaps the best place to start is with the PDC 2003 Microsoft PowerPoint presentation "Building Manageable Apps: Admin Scripting & Automation." You can download the presentation from http://www.gotdotnet.com/team/pdc/4118/arc334.ppt. Just remember the content's primary audience is developers. If you prefer a streaming media recording of the PDC breakout session and you have $499 to spare, you can purchase the PDC 2003 DVD set, which includes the streaming media files and PowerPoint presentations from all the breakout sessions. Go to http://msdn.microsoft.com/events/pdc/after/default.aspx for more information.
What about MSH? If you attended PDC, you'll find the Longhorn Command Shell Preview in the Longhorn preview that you received at the conference. If you missed PDC and you're a Microsoft Developer Network (MSDN) subscriber, you can get the Longhorn preview from the MSDN Subscriber Downloads Web page (http://msdn.microsoft.com/subscriptions/downloads). MSDN subscribers can also request the preview by calling MSDN Customer Service; you can obtain the customer service number for your area at http://msdn.microsoft.com/subscriptions/phone. If you're not an MSDN subscriber, you'll have to wait for the Longhorn beta.
I've always maintained that scripting and task automation is Microsoft's single most crucial and underdeveloped frontier, which is puzzling given Microsoft's leadership role in the area of programming languages. Monad could very well change that if Microsoft gets it right.