So, I’m back from the MVP Summit feeling great about the future of Windows PowerShell (and Windows Server “Longhorn”, too, although that’s perhaps less relevant to this blog). Now, understand that the purpose of the Summit is primarily for us MVPs to take all the feedback we get from the community and deliver it to Microsoft. Microsoft shares a lot of their plans for upcoming software – but mainly to get our knee-jerk reaction at what the community would think of those plans. Most of the information is revealed under NDA (Nondisclosure Agreement), so I can’t share a lot of the details, yet. However, I can share some of the general direction!
First, Windows PowerShell. One of the big areas I’ve gotten feedback on is ADSI support, with the general idea that ADSI should be as robust, easy, and discoverable as WMI. The PowerShell team has now heard that loud and clear, and understands where we’re coming from, and has promised to put some good thought into it. Right now, they are just speccing out v2 of Windows PowerShell, so the feedback came at a good time – but they haven’t made many decisions on what features they’re going to try and add to v2, so nothing’s firm.
Speaking of v2, there’s no public ship date, yet – but this WILL probably be a “major version” release in terms of features, so you’re looking at one, two, maybe more YEARS rather than just months or weeks until v2. Nobody discussed a “v1.1” or “v1.5” release, either to say they were or were not considering such a thing. In short, the PowerShell we have now is the one we’re going to have for a while – which I regard as a kind of good thing. I like to see PowerShell “moving forward,” but at the same time we as a community need time to sit with it and get used to it before it changes! My hope is that we’ll see some Community Technology Previews (CTPs) of “PowerShell v2” at some point, so we can start playing with the new toys features sooner.
The other big PowerShell issue is remoting, and trust me when I say that the PowerShell team has this one nailed, conceptually. I can’t share much, but the upshot is simply that you will like what you see when it’s finally done to a point that you can see it! I even suggested that they generate some session transcripts showing how this works, as it’ll let them share the ideas with the public, and get feedback, without actually having to release working code to the public (which is of course a very big deal within Microsoft). And you know, I should also point out that the idea of remoting, and their ideas for implementing it, have been around pre-v1 – they just didn’t get a chance to add the feature to v1. Oh, and I should point out that they’re NOT thinking of using RPCs for communications. There’s another, more firewall-friendly management protocol that they can rely on which will be a big welcome as far as I’m concerned. They’re totally on the right track with this – I hope it makes it!
Other PowerShell v2 features under consideration are amazing. There are obvious language enhancements, like the occassional new keyword and some new cmdlets, but there are also major things that revolve around making the language and the shell more robust, more efficient, and more capable. These might be things we don’t use for years, but they’re really intent on making this the best possible shell of any platform, not just Windows – if they eventually get everything into the shell that they want (even if it takes until v3 or v4), the Unix guys are going to be flat-out jealous of us. The PowerShell team really has a strong long-term vision for the shell: Just because v1 didn’t have that entire vision (at some point, you have to stop programming and actually ship something, right?), they’re pointed in the right direction.
Longhorn is also shaping up. I saw less “new” here, since Longhorn is obviously at a point where new features are less common and where getting it all working is becoming the focus. I think a new beta should be due out sometime in the semi-near future, which will let everyone see what this thing is all about and how it’s doing. We saw some incredibly impressive demos of things like System Center Virtual Machine Manager (including some demos of it being managed with Windows PowerShell) that were very exciting.
One thing that I saw – and didn’t know about – which you can get RIGHT NOW is Exchange Server 2007. The bit I knew was that Ex2007 is built on PowerShell; what I didn’t know is that whenever you run some operation in the Ex2007 GUI, it shows you the PowerShell command that it’s going to run. This is a great way to learn PowerShell! Want to batch-create 500 mailboxes? Do one in the GUI and copy its command-line!
The other neat thing is that the Ex2007 team, perhaps without knowing it, has really redefined the way Microsoft builds server products. They basically went through their old Ex2003 GUI and documented each and every task an admin could perform. Then they specced out the cmdlets that Ex2007 would need to perform its various admin tasks (the purpose of inventorying Ex2003 was to make sure they didn’t miss anything). Then their developers wrote the cmdlets first. This is probably the first time that rank-and-file Microsoft developers have been so close to the administrative experience: They could no longer think about how the product worked specifically, but instead had to focus on how the product is administered. The GUI was simply layered on top of those cmdlets – another first, since usually the GUI team was responsible for focusing on how the product worked under the hood and coming up with as good a GUI as they could to administer that. I think Ex2007 is probably one of the best-designed administrative experiences out there, because the administrative experience was the first thing on the table during the design phase. Congrats to the Ex2007 team for taking the risk of being radically different – and for creating a path that other product teams are now following.
If you ever think “Microsoft doesn’t listen to their users,” well, you’re wrong. Just flat-out wrong. I sat in at least three focus groups where we were basically asked, “what do we need to be doing differently?” And trust me, some MVPs felt… let’s say “strongly” and made sure Microsoft knew it. And these MS guys asked clarifying questions and wrote down everything they heard. In some cases they would pull individual MVPs aside after the session – not to beat us up, but to ask further questions about what we meant, how it would be used, and so forth. These folks all cared specifically about what we had to say, and what our communities of users had to say, and they want to make changes accordingly. Some of those changes may be years in the making, of course – you don’t just rip Windows Vista apart and make changes on the fly – but the point is that Microsoft really does listen and wants to make products that their customers will want to use. Sure, you can’t make everyone happy, but they do spend a lot of time and money trying to find out what we want, and it’s good to see. They like the MVPs as a channel for feedback because we’re interacting with the broader community of users more frequently, and we’re honestly not afraid to yell when something in an MS product isn’t the way it should be :). Boy, you should have heard the things said about Vista’s User Account Control (and not all bad things)!
So that’s my quick roundup of what happened at the MVP Summit this year. I’m looking forward to going back next year – and I’m always looking forward to hearing your feedback. The product teams I met at Microsoft are really eager to hear what users think, and part of my job as an MVP is to aggregate all of your feedback and get it up to Microsoft. Don’t forget that! Post in the forums on ScriptingAnswers.com and I’ll do everything I can to make sure everyone’s voice is heard up in Redmond.
Exchange 2007 is no doubt based on strong foundation of inovation, lot of things were new to me as far Exchange 2007 and Powershell combination is concern.
(get-command).count=129 in powershell without snap-ins and in Exchange Mgmt shell it is around 250 Plus cmdlets.Thank you,