PowerShell Abstractions & the Community

  • Comments 5

Smart guy Don Jones has a good blog entry where he discusses ABSTRACTIONs with the question, "Do I need .NET, WMI, COM, and all that to use PowerShell?" 

  • I agree that the correct abstraction for users (admins, etc)  is Cmdlets (and Providers [Don didn't mention this but he should have]).
  • Getting full cmdlet coverage what I call "digging ourselves out of a 30 year hole".
  • PS provides access to lower level abstractions (.Net, COM, WMI, ADO, ADSI, XML, text-parsing, etc).
  • PS V2 allows you to write Cmdlets using PS.
  • PS V2 supports Modules which make it easy to share PS Scripts between users.

ERGO:  PS V2 enables the community to create and share the correct user abstractions so you don't have to wait for MSFT.

NOTE: Even when MSFT provides full cmdlet coverage - you'll still need to know which cmdlets to use and how to stich them together to solve your specific problem.


  1. You need to look to the community for the solutions for your problems. 
  2. When you have a question, ask that question in a community forum.  Your question and the answer will get indexed by the search engines and help the next hundred people that have the same question.
  3. Don't just be a freeloader :-) - help the community.  When you figure something out - you need to share it with a newsgroup post or a blog. 
    • I'm sure that most of you are were all of us were a few years ago and are active readers but not posters thinking that no one would be interested in your work.  If that describes you - you are wrong. 
    • We can all learn from each other. 
    • JUST DO IT.  The next blog entry is easier than the last one so make a commitment to start a blog and post a few entries. 

What's the best way to start with the community?     If you haven't already bookmarked http://powershellcommunity.org/ - do it now. 


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

Leave a Comment
  • Please add 3 and 5 and type the answer here:
  • Post
  • Ok, I'll bite.

    I've been one of these admins who looked at powershell, got excited by the possibility only to realize that the whole thing was a completely new abstraction. It required me to learn a new language, new paradigm and, basically, a whole new development and runtime environment to get these goodies.

    Then I looked back: since I'm also a programmer, I now have a number of toolkits available to me: CMD scripts are still a very powerfull tool and a basic "must know" skill in administering any windows environment, VBScript is used all over Microsoft office and therefore I need it to support the Excel cowboys in the office, C# and Delphi, coupled with COM and WMI are there for me to turn to when an impossible to solve problem arise and they both have immense intrinsic value of their own.

    What does Powershell offer ? It's a new skill, but it isn't any easier to learn than the old ones and actually MUCh harder to learn the batch sctipting. In fact, it could be argued that without a good knowledge of WMI, it lose a lot of it's usefullness. But it doesn't bring any of the advantages of the others.

    In that context, and keeping in mind that I might just be a grumpy old admin who, among others, doesn't want to invest time to learn yet another language for minimal apparent benefit, could you explain what you think are the big "selling points" of PowerShell ?

  • I totally agree. I've started blogging about Powershell and VMware management through Powershell (using the VI Toolkit) several months ago and have been rewarded by several hundred visits to my site already! I learn a lot by reading other blogs. So I think of blogging as a way of giving something back.

  • I don't understand, can we all subscribe for this?

  • Just to add to #3 - participate in the IRC channel - #powershell.

    It provides an opportunity to learn and help others learn in near real time.

    Or write an email or send feedback to the a podcast that talks about PowerShell (like the PowerScripting Podcast, or Mind Of Root, or the new podcast from Jonathan Medd - Get-Scripting).

  • Getting people to understand the benefit of community participation is always a challenge.  You will have those that 'get it' and as a result benefit and those that remain confused.  

    @flugan - As one who falls in the class of 'not a developer', I have to disagree.  I will admit, I do not have to support office products so don't have to support vbScript in Office applications but PowerShell is easier to use in many ways than batch scripting.

    With batch scripting you had to learn an entire range of tools both native and third party to really do anything useful.  This model is not really different with PowerShell and is arguably easier with much more consistent documentation available (help about_) then was ever available with batch scripting.  

    COM?  Use that... skip.  WMI, well, there are a lot of examples that one can puzzle through and piece together without really knowing much about WMI.  I have managed to do that and I now know more then I did but still I am able to create and piece together very useful scripts/tools than I have before with vbScript.  

    Going forward, as 'not a developer' admin, PowerShell is providing a nice consistent interface for me to leverage across several technologies.  I use it with the Quest AD cmdlets to pull reports, I use it with the VMware Toolkit to pull reports and modify system properties.  My co-workers are looking at the Citrix PowerShell offerings to see if they will help them.  

    I look forward to eventually Exchange 2007 tools and when we deploy SCOM.  Having a nice standard scripting environment across several of the technologies I work with and that is more logical then vbScript ever pretended to be is fantastic for me (even without using COM and a minimal amount of WMI).

    See my site for various simple things I have learned and accomplished with PowerShell and a minimal time investment.  For a more stark comparison, see a friends (he wrote a lot of vbScripts) article here: http://www.ericwoodford.com/powershell-power-story

    For a more concrete example

Page 1 of 1 (5 items)

PowerShell Abstractions & the Community