Describe Windows PowerShell to Four Types of Users

Describe Windows PowerShell to Four Types of Users

  • Comments 14
  • Likes

Summary: Microsoft Scripting Guy, Ed Wilson, describes Windows PowerShell to four types of users—everything from IT Pros to their moms.

Hey, Scripting Guy! Question Hey, Scripting Guy! What is Windows PowerShell?

—CL

Hey, Scripting Guy! Answer Hello CL,

Microsoft Scripting Guy, Ed Wilson, is here. Last week, at Microsoft TechEd 2012 in Orlando, Florida the Scripting Wife and I talked to literally thousands of people who swung by the Scripting Guys booth, met with us for our Scripting Breakfast, or hung out with us in the evenings at various events and functions. During all that time, everyone was super enthusiastic about Windows PowerShell—so it is easy to forget that everyone has not gotten the word. In fact, at the Jacksonville IT Pro Camp the Saturday following TechEd 2012, when I asked the jam-packed room how many people were using Windows PowerShell on a regular basis, only three people raised their hands. One was the Scripting Wife, and the other two were Stephanie Peters (Microsoft PFE and Windows PowerShell guru), and Jason Hofferle (Windows PowerShell guru and active community lead) who were there to present. I guess I live a sheltered life amongst the Windows PowerShell community, protected from a world without the blue and white prompt.

Note   By the way, I sort of feel like this is my “Yes, Virginia” moment. But what I would really like to see are your answers to this question. Post a comment to the blog and share with others how you describe Windows PowerShell.

Using Windows PowerShell on a daily basis, and knowing how to describe it to someone who has never used it, is a bit hard. To an extent, it depends on the background of the person who is asking the question. Of course, one of the confusing things about Windows PowerShell is the “it’s a shell—no, it’s a scripting language” type of argument. Sort of like the peanut butter/chocolate debate.

Describe Windows PowerShell for a Windows admin

I like to tell Windows administrators who have not used Windows PowerShell that Windows PowerShell combines the ease-of-use of the command prompt, with the power and flexibility of VBScript. But that is not an old-fashioned command prompt, nor is it a complicated scripting language.

Describe Windows PowerShell for a *nix admin

I like to tell my *nix friends that Windows PowerShell combines many of the features of a Bash or a Korn shell, but with one important difference. Windows PowerShell passes objects. This means that to access output, one only needs to use dotted notation to retrieve a specific property from the object. Whereas *nix admin types need to be really good at using Regular Expressions due to parsing returned string data, Windows PowerShell users need to become good at using Get-Member to discover the properties that contain the information they desire.

Describe Windows PowerShell for a normal user

I like to tell normal Windows users that Windows PowerShell is an automation tool. It allows me to easily change many things at one time. In addition, I can keep a record of when changes were made, what those changes were, and I can even play those changes again and again. By using Windows PowerShell, I can stop multiple processes with a single command, increase the maximum number of Internet Explorer downloads, or change my screensaver timeout value. Of course, I can perform all of those tasks via the GUI, but by using Windows PowerShell, I can do all of them at once—and even more.

Describe Windows PowerShell to your mom

I don’t know about your mom, but the Scripting Mom is not the most sophisticated computer user on planet Earth. She uses her Windows 7 Home edition computer to read email, to use Facebook with her friends, and to play computer games. That is about it. So how do I describe Windows PowerShell to her? Well so far, I have basically ducked the question. But she does read my blog on a daily basis (in fact, she has it set as her home page)—so I might end up having to describe it to her. So what will I say? How about this: Windows PowerShell is a tool that lets you make several different kinds of changes on your computer from a single location. Instead of having to search around and learn how to use a dozen different tools to make as many different changes, you can use one tool to do it all. Windows PowerShell is designed to be used by IT Pros and Windows power users, although regular users can also use it.

CL, I hope this helps you to understand what Windows PowerShell really is. Join me tomorrow for more Windows PowerShell cool stuff.

I invite you to follow me on Twitter and Facebook. If you have any questions, send email to me at scripter@microsoft.com, or post your questions on the Official Scripting Guys Forum. See you tomorrow. Until then, peace.

Ed Wilson, Microsoft Scripting Guy 

Your comment has been posted.   Close
Thank you, your comment requires moderation so it may take a while to appear.   Close
Leave a Comment
  • My description: A management tools in the shape of a command prompt which has scripting capabilities. The main purpose of this is to automated repetitive tasks through scripts or custom tools written in PowerShell. With the use of a management tool through a GUI you are limited by what the GUI offers... with PowerShell you are only limited by your imagination. The goal of this is to do the preperation and reap the benifits on the long run...

    Secundary, by using PowerShell you are able go way deeper into products that you could ever do with a GUI. The difference is that a GUI is relative 'easy' compared to any command prompt.

    PowerShell differs from other command prompt solutions in the fact that it's standardized and integrates with just about everything.

  • @Jeff Wouters, excellent description. I like your "a command prompt with scripting capabilities" ... very good.

  • Agreed, I usually explain it to family and non-IT friends as sort of like an old school command line, but with all sorts of automation built in.  To IT colleagues and coworkers I explain it as an automation engine that is at it's absolute best when interacting with databases and even non-database like systems that have large amounts of data like a file system.  If you need it done once, just do it.  If you need it done a thousand times, PowerShell!

  • @Nfields03 I like that: If you need it done a thousand times use PowerShell. Cool!

  • The ingredients: Conventions + Objects + Pipeline + Scripting.

    The result: an automation technology with a SHORT (but steep) initial learning curve that flattens out to infinity.  The first shell that feels like a conversation -- and once you know a few inside jokes, you'll be friends forever.

  • @Kirk Freiheit I like that ... "once you know a few inside jokes, you will be friends forever ..." way cool ...

  • A never-ending loop any mom could understand:

    Do { Get-Child | Add-Task -Clean $Room }

    While ($Room -ne 'Clean')

    Want to improve the script's runtime?

    Do {

       Get-Child | Add-Task -Clean $Room

       Get-VideoGameConsole | Set-Status 'Off-limits'

        }

    While ($Room -ne 'Clean')

    Get-VideoGameConsole | Set-Status 'Available'

  • @rich Prescott that is too funny. I like it, and it is a great way to describe an infinite loop. Thanks for sharing.

  • @Rich, if only it were that easy... :)

  • I really would rather not try to at all. That seems like a no-win situation.

  • @Re my mom It might seem like a no win situation, but I still try to explain things to my mom from time to time. It does not always work, but it seems worth the effort ...

  • So how would you describe PowerShell to a Microsoft .NET Developer?

  • @Doug Finke I say that PowerShell is a .NET Framework application that serves as Microsoft's management framework for the future. By writing PowerShell cmdlets and Providers .NET developers can tap into a huge install base, and leverage an ever expanding source of skills and expertise. In addition, due to the installed core base, developers do not need to incorporate things like outputting to XML, CSV or other things because PowerShell already provides this capability ... BUT you wrote the book, how do you describe PowerShell to devs ...

  • Describe Windows PowerShell to a Caveman.

    You Type - It Does.