News from the Front

I’m at Microsoft IT Forum in Barcelona, and have picked up some great tips and news about Windows PowerShell that I thought I’d share.

First, PoSH is now part of the Windows Common Engineering Criteria (CEC). Although the new CEC needn’t be met until 2009, this is the bit of Microsoft policy which specifies how Windows components need to be written and behave. For example, a few years ago the CEC gained a requirement for graphical user interfaces that required the use of a new framework called the Microsoft Management Console (MMC), resulting in the more consistent GUIs we now enjoy. Well, by 2009, Windows components – which must all meet the CEC – need to be built on PowerShell. Big deal!! Of course, this only applies to components that are BEING written – that doesn’t mean MS needs to go back and re-write them all; instead, they wait until they begin work on a new version of Windows (personally, I’m hoping “Longhorn” R2 will include a lot of PowerShell stuff).

Other MS products are coming on board with PoSH, too. I have a swank PowerShell t-shirt listing Longhorn, Vista, Exchange 2007, System Center DPM, System Center VMM, and System Center OM as the “Wave 1” products providing some degree of PowerShell support (with Longhorn and Vista providing the least; the other products – like Exchange – are building their GUI tools on top of PowerShell).

Third-party support for PowerShell is amazing. Here at home we’ve got a book from SAPIEN Press due out at the end of December, the new PrimalScript 4.1 support for PowerShell, the forums on ScriptingAnswers.com, and a slate of classes (yet to be announced) for 2007.

But it’s not just us. PowerGadgets is now shipping and this is one cool tool. For example, use Get-WMIObject to retrieve a computer’s CPU performance counter, and PowerGadgets’ Out-Gauge cmdlet to create an animated desktop icon – a little speedometer, perhaps – that shows the CPU performance in real-time. Full Armor has a GREAT new set of cmdlets and a graphical wizard that generates PowerShell code. This set of tools lets you script changes to individual group policy object settings! You use a Wizard to generate GPO setting changes and it spits out PowerShell code that actually does it! N Software is producing a set of cmdlets that enable PowerShell management of remote systems via SNMP. Yup, manage a router, a Linux box, whatever. Now imagine using SNMP cmdlets to retrieve device status and piping that status to an infrastructure map via PowerGadgets… it’s heady stuff!

We learned how MySpace.com has been using PowerShell since beta 3 – in production! We saw a live (via Terminal Services) demo on a production MySpace box, showing how a single line of PowerShell code got a list of all servers for a particular MySpace subdomain, checked their processor utilization, and reset IIS on any server with a utilization of over 70%. ONE LINE OF CODE DID THIS. These guys manage over 3,000 Windows-based Web servers and PowerShell has taken tasks which used to take an admin a half hour or so and turned that into a 4-second task. That’s significant, folks, and it’s an excellent example of how this isn’t your typical “v1.0” product.

The PoSH team has done just an incredible job, and it’s fun to see how excited they are about the possibilities for this new tool. It’s available now! Download it. Try it. Use it. You’ll see.