Having come up with the initial idea of Windows PowerShell and then worked on it for a (really) long time, I was very optimistic about how it would be received and widely it would be adopted. I have to admit that even I’m shocked at where we are just six months after our release mid Nov 2006 release.
Shortly before we released, Scott Ottaway (our marketing guy) expressed an opinion that we have a million downloads in our first year. I thought he was delusional or just plain ignorant about how long it takes for technologies like this to be adopted. Imagine how much crow I’m eating now that we are about to have our millionth download. That’s right – PowerShell has had almost a MILLION DOWNLOADS IN ITS FIRST 6 MONTHS. People just can’t get their heads around this – we keep double checking the numbers – but it’s true. Note that this does NOT include the Windows Server 2008 (Server “Longhorn” Beta 3) usage.
Also, just six months ago we did not know if we would be in Windows Server 2008 (“Longhorn”) but the team worked hard and got it in Beta 3. At MS, this is like moving a mountain because of our focus on testing and quality in late stages of product development but we were able to get it in WS08 within 3 months of given the go ahead.
The first six months have been amazing but I don’t think anyone truly grasps how ubiquitous PowerShell is going to become.
We keep hearing about customers moving beyond evaluation and deploying PowerShell in production environments. The flagship deployment so far has to be MySpace.com (the #1 internet destination). They have been using PowerShell to manage ALL of their production severs for over a year now (they were so impressed by the quality and reliability [not to mention power] of PowerShell, that they deployed our beta copies in production).
There is a large and growing list of products that are shipping with PowerShell support in final or beta test form. There is an even larger list of products that are working on PowerShell support. What is so nice is that as internal teams consider whether to do anything with PowerShell, we just have them talk to the teams that have already done it to get a feel for how much work it is going to be, what benefits they get and the customer reactions. A quick conversation with those teams and the deal is closed. Happy customers are clearly our best marketing. What is interesting is the level of integration that teams are executing on, including very deep integration. Exchange 2007 and Virtual Machine Manager are the flagships in this regard. Both teams took a significant, all-or-nothing bet on PowerShell as the heart of their management capabilities and they have benefited tremendously with integrated GUI and cmd line management and the ability of IT Pros to completely automate management tasks. This product list is old by the time you hit the carriage return but here are a few:
Microsoft projects using PowerShell:
- Exchange 2007
- System Center Operations Manager 2007 (MOM)
- Microsoft Transporter Suite for Lotus Domino
- Windows Server 2008 Beta3 (Longhorn)
- Systems Center Virtual Machine Manager
- Data Protection Manager 2007
- Windows Compute Cluster Tool Pack
<There are lots more Server, Consumer, Developer and Services products coming but I can’t discuss them yet……>
Other efforts (sorry if I missed anyone – let me know and I’ll update the list) using PowerShell
- Quest Software
- /n software
- Full Armor
- PowerShell Analyzer
We have an impressive and growing list of commercial books available and coming:
- PowerShell In Action (Now it its second printing!) – Manning Publications
- Microsoft Windows PowerShell: TFM – Sapien Press
- Microsoft Windows PowerShell Programming for Absolute Beginners
- Professional Windows PowerShell
- Microsoft Windows PowerShell Step By Step
- Windows PowerShell Unleashed
- Windows PowerShell: The Definitive Guide for Windows, Exchange 2007 and MOM V3 (Sept 2007)
- Monad (AKA PowerShell): Introducing the MSH command line shell and language
- Professional Windows PowerShell Programming: Snapins, Cmdlets, Hosts and Providers (Sept 2007)
- Windows PowerShell. Sprachgrundlagen, Dateisystem, Datenbankzugriffe, WMI-Steuerung (Galileo Computing)
- Windows PowerShell – Crashkurs
- Scripting mit Windows Powershell (Aug 2007)
- Windows Scripting. Automatisierte Systemadministration mit dem Windows Script Host und der Windows PowerShell
Windows PowerShell宣言! (単行本)
This is in addition to Frank Koch’s free PowerShell book which he said has had > 9,000 downloads.
In addition to the newsgroup Microsoft.Public.Windows. Powershell, there are a number of very active PowerShell-centered community forums from various vendors, authors, and other communities. CodePlex.com has the following 16 source projects related to PowerShell:
- MyITForum – wiki, moderated discussion group, script examples, PS integration with SMS/CM07, OM07/MOM and Exchange.
- .NET Reflector Add-Ins. Point this at a .DLL and it will show you the code in PowerShell
- PowerShell Community Extensions. Community development tour-de-force. Provides Cmdlets, providers, scripts, aliases, help, everything.
- PowerShell Scripts. PowerShell scripts for Administrators and .NET developers
- PolyMon. .NET/SQL based system to monitor, measure, analyze and alert on a variety of network resources.
- VS Command Shell. PowerShell window inside of Visual Studio.
- PowerShell Remoting. Lightweight client-server application to securely connect to a remote PowerShell host and run scripts interactively
- Powershell Scripts for Testing. Library to provide xUnit-style assertions such as Assert and AssertEquals to PowerShell.
- Windows Installer PowerShell Extensions. Exposes Windows Installer functions. Provides the ability to query installed products and patch information and get views on packages.
- ShinyPower. Help Viewer.
- PowerShell Eventing Library. Allows you to trap and respond to .NET events within your PowerShell scripts.
- PowerShell SharePoint Provider. Exposes SharePoint 2003 as a filesystem allowing admins to copy/move/rename/delete items as they would with a filesystem.
- Visual SourceSave – PowerShell Maintenace Script. PowerShell script to automate the maintenance tasks for a Visual SourceSafe database.
- PowerShell R Interop. Allows data objects to be passed between PowerShell and the R statistics package.
- NewsGator PowerShell Provider. Exposes newsGator WS API as a PowerShell Provider to access RSS feeds.
- Lokad OpenShell. Allows access to Lokad business time-series forecasting features.
- JungleDiskSnapIn. PowerShell implementation of Jungledisk which uses the Amazon S3 storage services.
I was delightfully surprised to see the first PowerShell usergroup get established in our first 6 months. The indefatigable Richard Siddaway started and runs the very active UK PowerShell Users Group Get-PSUGUK.
Innovation and Impact
There is widespread recognition of the level of innovation and the impact that this has on the Windows platform. A number of people in the Unix community have been gracious enough to offer their praise for this effort and encourage their own community to respond in kind. I what I like most is the emotional connection that PowerShell makes with the user community. (Note that quite a few of the compliments were coupled with a criticism of our use of CONSOLE – Message Received!). Here are a few examples:
The Windows PowerShell is probably one of Microsoft’s best innovations over the last few years. Really. It is a brilliant piece of work that finally gives the command line shell real power.
Windows Powershell is awesome next-generation shell technology..and as usual 80% of the devs here have their heads (and eyes) stuck in the sand and casually dismiss whatever it offers (since its by M$). Yes, the UI is kludgy and old, but the concept/implementation is terrific. … Powershell’s object filtering pipeline concept brings things to the table that no Unix shell cam compare with. Powershell pipes _objects_ not text. There are _consistent_ cross-command constructs for filtering on those objects, evaluating conditions on those objects, formatting those objects, et al.
Yeah Windows Powershell goes beyond what is available on Linux or any other Unix. Its object oriented, for one. Bash is not. …
I honestly think that PowerShell is going to be as significant as .NET, C# and LINQ.
…the thing I love about PowerShell is that it feels like coming home.
Now, you know that I love Powershell. I think it is one of the coolest developer innovations out of Microsoft in years.
PowerShell, though it’s not yet RTM, is a powerful enough shell that I’ve found myself wishing that Microsoft would stop ignoring UNIX and actually port it to UNIX machines. PowerShell’s innovations are clear enough to be of great value even on a UNIX system.
I said it before, I’ll say it again: This train keeps gathering steam! SNOOPY DANCE!
Jeffrey Snover [MSFT]
Windows Management Partner Architect
Visit the Windows PowerShell Team blog at: http://blogs.msdn.com/PowerShell
Visit the Windows PowerShell ScriptCenter at: http://www.microsoft.com/technet/scriptcenter/hubs/msh.mspx