Promoting PowerShell

This question comes up quite often: “How can I encourage adoption of Windows PowerShell in my organization?” I periodically poll people about their adoption plans and what sort of things are standing in the way. Most of the obstacles in my opinion can be cleared with experience, exposure and education. On Twitter today, @ChuckBoyceJr was asking for guidance in getting his organization to accept and presumably adopt Windows PowerShell. His concern was that their lack of scripting knowledge was a hurdle.

I don’t think this is a hurdle, or at least one you should worry about. The reason is that I think the better approach is to “sell” PowerShell as a management tool, not a scripting tool.  When people hear “scripting’ they think it will be some combination of “it’s complicated”, “it’s prone to security vulnerabilities”,and “it has little to no long term practical value”. I’m not about to fight that battle here and neither should you.

Instead, stress that PowerShell is an interactive management console. You type a command and something happens. You can manage local and remote computers. You can manage 100 remote computers as easily as you can 1 or 10.  Granted, some PowerShell expressions can get a little long, but they work and can accomplish some amazing tasks that often would be next to impossible with a graphical tool. But if your co-workers want graphical management tools, you can give it to them but still use PowerShell.  You can create your own using Windows Forms. Or grab a copy of PowerGUI. Finally, stress that fact that Microsoft has adopted Windows PowerShell as it’s de facto management tool going forward. It’s not a matter of if you will be using PowerShell, only a matter of when.

Here’s what I would do. First, gain some experience and proficiency in PowerShell yourself. Then identify a common management task you do now, perhaps through a GUI or some other tool. Write a one or two line PowerShell expression to accomplish it.  Don’t write a script. Save that for later for the truly complex tasks.  Or if you use another scripting language, such as VBSCript, take one of your management scripts and write a short set of PowerShell expressions that you can run interactively to get the same result.  Your goal is to show how much you can accomplish of your daily work with PowerShell and how much more efficient you can be.

At the very least, demonstrate some of the basic management cmdlets such as showing all running services on a group of servers, finding the last 10 error messages in the system log, or getting basic WMI information from a group of servers and present it in a nicely formatted table. Feel free to use any scripts or tools here to help close the deal.

For the rest of you who have been successful in promoting PowerShell, what obstacles did you overcome and how? Do you have a killer PowerShell one-liner (or 2-3 lines) that has a big “wow” factor for management types?  I’ll have to come up with some of my own but in the meantime I hope you’ll share.

6 thoughts on “Promoting PowerShell

  1. “It’s not a matter of if you will be using PowerShell, only a matter of when..” ….. very true. Though I just started with PS, but amazed with its possible usages…

  2. Often when I talk to people about PowerShell they love the easy way of using dot net classes.

    And when I tell them that they can do a windows.form application with powershell in 10 min, they first don’t belive me. But when I show them they just love powershell.

    I use PowerGUI and Primal Forms when I demonstrate the power of PowerShell. It’s easy, fun and very powerfull.

    It’s nice to show a network guy that It’s possible to make a GUI that will show the helpdesk what server or what router that is down when a user can use internet. And show him that this can be done in no time with icons too.

    I will record a session on PowerShell, Windows.Forms and Active Directory for Microsoft TechNet Sweden this week. It’s a short screecast that will show how easy it is to make Windows.forms apps for the helpdesk.

  3. I just started using PowerShell to do things. Some co-workers were interested so we learned together. Eventually I had enough ‘buzz’ that I put together a presentation for the rest of the team on how to get started.

    One of the tricks is to give people enough information on how to do something up front. Otherwise they are left with a cmd prompt and nothing to do.

  4. Pingback: uberVU - social comments
  5. Pingback: Active Directory Round Up 1/14/2010 - The Experts Community

Comments are closed.