Automating the world one-liner at a time…
I just got out of Bob Muglia's keynote speech where he formally announced Windows PowerShell (previously known as Monad). The key things he announced are:
Superstar Vivek Sharma demonstrated the Exchange 2007 Admin experience. First he showed their new MMC 3.0 managed code snap-in - it totally rocks! (you'll be amazed by what you can do with MMC 3.0). He showed an example of adding a distribution list using the GUI. At the end of this wizard, it showed the results of the operation and the Command equivalent. This highlighted the fact that the Exchange GUI is layered on top of PowerShell meaning that there is parity between the GUI and the CLI and that the GUI helps teach the CLI. He then opened a PowerShell window and typed the Cmdlet name using tab-completion and hit enter, this then prompted him for all the necessary information to complete the task showing you PowerShell helps guide the user to successful complete the task. He then showned a number of features of the Exchange cmdlets highlighting the ability to safely manage a large number of objects in a single command line. He concluded by showing a command sequence which leveraged a Exchange 2007 cmdlet piped to a Monad Cmdlet piped to a Community script to generate a graphical chart report of Exchange data. It was a very cool demo and was very well received.
Here are the ramifications of this announcement:Windows PowerShell is real and you can count on it shipping. Most of you already knew that but some people just won't talk to you until you have a ship date and ship vehicle. We have those now. Everyone can start making concrete plans for how and when you'll support, leverage and/or use Windows PowerShell.
Windows PowerShell is ready for the big leagues. Exchange 2007 is a major league, high volume, high stress, production application and it is using Windows PowerShell as the core for its entire admin experience. We have worked closely with that team to ensure that Windows PowerShell V1.0 has the features and quality necessary to make that a safe bet. Exchange has been hardcore about the functional and operation requirements of their customers. This has driven PowerShell and resulted in an unusually robust and functional V1.0 release. You too can expose your admin experience via Windows PowerShell and deliver your customer's an awesome admin experience. If you are an admin, you should start asking your vendors when they'll support PowerShell.
You can use RC1 of Windows PowerShell today. RC1 is in great shape. We changed the name of the exe to PowerShell.exe and the extension is now .PS1 . We also did a big consistency pass on the cmdlets and their parameters make a number of changes along with those required to support the new name. We release that this means that you'll have to relearn some commands and perhaps rework some scripts - apologizes for that but in the long turn, these changes really improve the consistency of the surface - a virtue that will pay back year and year. There are also a number of bug fixes and a few DCRs. The one you'll all go goo-goo over is Tab Completion. You can now Tab-Complete command names, parameter names, filenames, and variable properties/methods. Tab-Completion is now a user-definable function so if you don't like our implementation, you can replace it with one of your choosing. Pick up RC1 today. Here are the links:- X86 Windows PowerShell latest build: http://go.microsoft.com/fwlink/?linkid=64772&clcid=0x409 - X64 Windows PowerShell latest build: http://go.microsoft.com/fwlink/?linkid=64773&clcid=0x409 - Windows PowerShell documentation: http://go.microsoft.com/fwlink/?linkid=64774&clcid=0x409
Side Note: The names of many of the APIs have changed to refect the new name (basically you'll have to search and replace MSH with PS). We're sorry about the inconvience of this, we always expected the official name to be the Microsoft Shell or Management Shell so we felt confident that MSH was safe to use. When Marketing saw what the technology actually did and the incredibly positive reaction that customers and partners, they decided that we warrented a "Marquee" name (I'm not making this up). Marquee names are given to those features that are going to be emphasized during the Marketing push. So here is the net of all that: the downside is that you've got to change your API calls, the upside is that you are leveraging a technology that Microsoft Marketing plans to feature widely.
We have a new blog site to befit our new name: http://blogs.msdn.com/powershell/default.aspx
This is a pretty big day for the community.
[Edit: Monad has now been renamed to Windows PowerShell. This script or discussion may require slight adjustments before it applies directly to newer builds.]