Windows PowerShell (Monad) Has Arrived


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:



  1. Monad (MSH) has a new name: Windows PowerShell
  2. Windows PowerShell will RTW (Web download) in Q4 2006
  3. RC1 of Windows PowerShell is available today
  4. Exchange 2007 and MOM will be built upon Windows PowerShell
  5. The next wave of products will be leverage the same architecture – Admin GUI layered on Windows PowerShell

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 reflect the new name (basically you’ll have to search and replace MSH with PS).  We’re sorry about the inconvenience 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 warranted 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. 



Enjoy!
jps


Comments (39)

  1. //o// says:

    With the move to the new blog the "Did you Know" series did disapear.

    Greetings //o//

    PS I’m commenting this on the Old blog as comments seem to be disabled at the new one.

  2. Cory says:

    Will we ever get a Monad that doesn’t run in cmd.exe?  I want to be able to enter Unicode like Japanese.

  3. I’m at the Microsoft Management Summit this week in San Diego. As promised, I won’t be throwing up my raw notes, especially since yesterday’s notes are 16 pages of scribbles on the conference provided paper. Juice for the Foot-long Why’s…

  4. Morgan says:

    From the release notes…

    "Msh.exe" is now replaced with "PowerShell.exe"

    WHY OH WHY?!?

    Can’t you use psh.exe instead?

  5. Morgan says:

    Like Cory I am also interested in when it will be a seperate application and not a console based application. I understand this is planned but will it be like this for the final release? We are getting very close now we are at RC1 and I would like to see the console application be left behind replaced by its own interface so we can better utilise things such as unicode without the need for ugly escape sequences.

  6. MSDN Archive says:

    > Can’t you use psh.exe instead?

    You can create your own shortcut psh.bat to call PowerShell.exe

    Jeffrey Snover

  7. Morgan says:

    >You can create your own shortcut psh.bat to call PowerShell.exe

    Yes I could be on system that are not setup like that I will have to either type out powershell.exe or created psh.bat to call powershell.exe for me. That is rather annoying. The thing I like about cmd.exe is that it is consistent on every Windows machine, even the ones I have not setup.

  8. MSDN Archive says:

    > Will we ever get a Monad that doesn’t run in cmd.exe?  I want to be able to enter Unicode like Japanese.

    We don’t plan to ship this in V1.  I belive that Karl Prosser’s MSHAnalyzer supports this.  Check it out:

    http://www.karlprosser.com/coder/?cat=8

    Jeffrey Snover

  9. MSDN Archive says:

    MoW — looks like the series made it in there to me: http://blogs.msdn.com/powershell/archive/2006/04/25/583218.aspx

    Lee

  10. DontBotherMeWithSpam says:

    Happy Birthday, PowerShell!  Congrats~ Powershell Team~

  11. Morgan says:

    Well after playing around with it for a while… I LOVE IT!

    What an awesome, awesome shell. It is so nice to use. Thank you, thank you, thank you!

    Now if you will just rename the exe to psh.exe all will be perfect 😉

    PS Not bad if my only complaint is the name of the exe 😉

  12. Nektar says:

    Please rename the executable to psh from powershell. The commandline should have short name and not long ones.

    Also, when you say that the next wave of products will utilize it which wave are you talking about? Longhorn server? Or the wave after Longhorn server ie. the one coming around 2010 or there abouts. If so, then too late.

  13. Anon says:

    Why won’t it be included with Vista? Even if Vista admin uis are not integrated with it, why won’t you include it in the os alongside all the other system tools. If you want Powershell to be a success then you should put it in Vista, otherwise tough luck. If you want to help admins then what better way than having this powerful shell with every default Windows installation. They will not needlessly have to install it on every computer.

  14. Nick says:

    I really agree with getting the EXE renamed to psh.exe. Having to type out ‘powershell’ is totally obnoxious after years of cmd and more recently msh. PLEASE change this. I consider it a bug (waste of typing)

    It’s embarassing enough that it’s called PowerShell in the first place, but we can get over that in time 🙂

  15. Nick says:

    Or perhaps more appropriately at this point in the game since powershell.exe is probably baked into too many things, you could add a second exe, psh.exe, whos sole purpose is to invoke powershell.exe with the same parameters… that seems like a non-breaking win for everyone’s opinion. It just needs to come as part of the official install or it’s not worth it.

  16. Mike says:

    Shells time long passed. Now people are moving to graphical interfaces instead. It’s called progress but Microsoft is having none of it. If this new and improved command.com came out 15 years ago it would have meant something. But now ? Who do you think has enough time and patience to work with a command line version of the graphical tools already available?

  17. MSDN Archive says:

    > Shells time long passed.

    I beg to differ with you my friend.  There is a rebirth of CLI in progress.  I point you to the DMTF SMASH work as an example.  

    In the end, we don’t have to agree and there also isn’t much of to disagree with either.  No one is a bigger fan of GUIs that me.  If fact the PowerShell team and the MMC team are now the same team.  

    PowerShell is architected to allow rich GUIs to be layered on top of it.  We fully expect a good number of users to use the GUI exclusively – that is fine.  We full expect many users to use the GUI and then want to automation that operation so they’ll want the GUI to tell them what commands they should type (this is one of the key benefits of this layering).  We also expect many users to primarily use the CLI and occassionaly use the GUI.  Dude – there is no wrong answer here – it is all flavors of wonderful.  The big change is that in the past, the CLI did not have parity with the GUI.  We are fixing that.  If you are content with the GUI – happy days all around.

    Now all that said, I’ll just point out one thing.  GUIs by their nature, codify an experience.  CLIs do so to a much lesser extent.  If that experience is what you want – you’re golden.  If it isn’t, you often don’t have many choices.  With a CLI, the entire point of it is that you can create exactly the experience you want and need.  Yes that requires effort on your part because you have to think about what you want and then express it.  With PowerShell, we are trying to make it very simple for you to express whatever experience you want as easily as possible so:  You think it.  You type it. You get it.

    Enjoy!

    Jeffrey Snover

  18. Thanateros says:

    Seems to me that Microsoft’s Marketing is starting to act the same way Digital’s marketing folks did.  They just don’t get it.  Does the product HAVE to have a cool sounding name? No.  Make a product that works and we will use it regardless of the name.  This also seems to me like someone thought that MSH was too much like UNIX Shell naming and we can’t have that at Microsoft now can we…

  19. andy says:

    Sorry, but I found it to be quite sad to read the new name of such a GREAT product. At least rename PowerShell.exe to psh.exe, so it is a bit more hidden 🙂 And from psh.exe we can say phish, fish or some other *fun* name. PowerShell is just as boring as "Microsoft Windows Power Player".

    Once again, sorry. You should get as good marketers as you have designers for this product! The only correct thing the "marketers" did here was to recognize that Monad indeed kicks ass 🙂

    Mike: People writing scripts and (probably the same) people who are tired of clicking themself to death loves CLI tools. Happily, as Jeffrey wrote above, psh gives us a foundation to provide both worlds. Monad/PowerShell is Janus (http://en.wikipedia.org/wiki/Janus_%28mythology%29) .

  20. Blíží se finální verze produktu, který se kódově označuje jako MONAD. Jeho nové jméno je PowerShell!…

  21. cbowers says:

    To Jeff and the entire Monad team – thanks for such a fantastic commandline environment.  I can’t wait for the other teams @ MS to get with the program to the extent that the E12 guys have.

    Great stuff!

  22. Tomislav says:

    PowerShell is great. Do you have t-shirt with PowerShell moto like "You think it.You type it. You get it." – MS PowerShell.

  23. Ralph Elmerick says:

    Now if only the link url’s worked to get the RC1 code downloaded.  I have been running Monad for months now.

    http://go.microsoft.com/fwlink/?linkid=64772&clcid=0x409

  24. SunChero says:

    i dont know what isxcatly happening , but the link to download powershell or monad or whatever is no longer  available , i hope microsoft is not  going back away from powershell , and dropping the whole idea … any info about the futur of  powershell ??

  25. SunChero says:

    i dont know what isxcatly happening , but the link to download powershell or monad or whatever is no longer  available , i hope microsoft is not  going back away from powershell , and dropping the whole idea … any info about the futur of  powershell ??

  26. Wassim says:

    Hi,

    Thank you for reporting this issue. The product team is aware of this and is working hard and doing everything possible to fix this problem in a timely manner. We do apologize for any inconvenience this might have caused.

    Wassim

    [MSFT]

  27. morten says:

    PowerShell (Monad) is great, but how can I intergrate all this functionality into my DotNet apps?

    /Morten

  28. > how can I intergrate all this functionality into my DotNet apps?

    By linking the PowerShell DLLs into your app and calling the RunSpace APIs.

    http://windowssdk.msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref13/html/n_system_management_automation_runspaces.asp

    http://blogs.msdn.com/monad/archive/2006/02/01/522546.aspx

    Jeffrey Snover [MSFT]

    Windows PowerShell Architect

  29. Peter Monadjemi says:

    PowerShell is a breakthrough technology and for many, many admins around world who never got full power with WSH and VBScript a dream comes trough.

    I can’t believe that some people here have time to complain about the naming (but it really should be psh.exe by the away)

  30. ricka says:

    Happy days indeed. When the only thing we can complain about is the name 🙂

    Why don’t you just include a flag, or script so on first invocation you can

    PowerShell /hl psh

    (ie, create a hard link, or .bat or .cmd, however you want to). A much better approach than psh.exe calling PowerShell.exe

    Now when I go to a new system, I’m only burdened with the arduous task of typing P O W E R S H E L L once.

    –ricka