Dale Lane from IBM posted a blog entry HERE describing a set of PowerShell Cmdlets to manage WebSphere MQ. You can download the PDF documentation and bits from the IBM website HERE. The ZIP file contains a PDF called PowerShellCookBook which has a bunch of examples of how to use the cmdlets.
Let me be quick to so that they did a very good job on their cmdlets in terms of using the naming guidelines. I can’t tell you how thrilled I am at the great job they did. That said, I’m not at all surprised.
A lot of people are quick to say how much PowerShell looked to Unix for inspiration. That is true and we have a deep respect and admiration for that community and that body of work. That said, for some reason people don’t pick up on my statements about how influential the AS400 CL and VMS DCL models where in the conceptual model for PowerShell.
Both AS400 CL and VMS/DCL were hardcore about consistent naming. This is one of the reasons why operators love those systems. You invest in learning the naming and then it is consistent and easy to remember. Both system did parsing instead of the individual commands which ensures syntactic consistency. The UNIX model is one where the pipeline is an undifferentiated bytestream and commands in the pipeline consume individually determine when and how to consume that data. PowerShell rejected that model and replaced it with a model much more in aligned with IBM’s traditional RECORD orientation (yup – think CARD DECKS!). We say that PowerShell is “object based”. That is more true than false and is about as accurate as you can get with 2 words but the reality is that the object in the pipeline and the arguments on the command line combine to create a RECORD. The engine then determines how to bind that Record to the cmdlet parameters and then we call ProcessRecord() method.
The bottom line here is that this industry has a long line of superstar engineers and we all benefit from their excellent work. Hats off the UNIX engineers! Hats off the the VMS engineers! Hats off the IBM engineers!
Anyway – I’m thrilled to see IBM picking up PowerShell. I hope to see more of their products support this in the future. I’ll bet you a ton of money that their Services organization is going to love this as well. We think Services Organizations are going to be huge beneficiaries of PowerShell because it makes it quick and easy to create a custom, production-quality customer solution.
Check it out.
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