Did You Know? | PowerShell Quick Facts: Talking Points for the Holidays

Tired of discussing politics at the Thanksgiving table? Impress (or bore) your family with these fun pieces of PowerShell trivia!

Disclaimer: Discussing PowerShell with family may lead them to feel the following: loss of interest, drowsiness, boredom, and more. Only discuss this topic is you wish for the following side effects: conversation killing, social outcasting, and isolation.

Section 1 | Lite History

  1. Monad: PowerShell started off as Monad: a script execution engine for pipelines of .Net objects. [1] Created by Jeffery P. Snover, the objective was to take a new approach to building commands, composing solutions, creating management models, and creating management GUIs. [2]
  2. Rename: In typical Microsoft fashion, Monad was renamed to Windows PowerShell on April 25th 2006. [3]
  3. Ship it!: By August of 2009, PowerShell 2.0 was released for Windows 7 and Windows Server 2008 R2 as part of KB968929. It was released alongside of WinRM, which allowed for managing shells on remote computers. [4]
  4. Cross-platform: PowerShell was made open source on August 18th 2016 which allowed for support on several Linux based distros. [5]

Section 2 | Trivia

  1. The grammar of PowerShell is based on the Unix shell KornShell [6]
  2. PowerShell was designed to be the mediator between GUI based admin tools and Windows supported programming languages, like .Net or C++. [7]

Section 3 | The Uncommon Basics

I saved this section for last as its devoted towards newbies and script-kiddies:

  1. Get-Command is a cmdlet to tell you about other cmdlets. It will tell you the command type, name, and source module of the cmdlet in question. It can also provide syntax and parameters of the requested cmdlet.
    • Example: Get-Command -Name Get-ChildItem -ShowCommandInfo
  2. Get-Help is a cmdlet that provides documentation regarding other cmdlets. Like Get-Command, it will show you the syntax, parameters, aliases, and more of a cmdlet.
    • Example: Get-Help -Name Get-ChildItem
  3. As discussed in a previous blog entry, you can create a custom module filled with your own functions and cmdlets. Check out Episode I for more!

Keep these fun facts in your rolodex of information to spit out anytime someone mentioned PowerShell, or even use these as talking points to deter social interactions!