PowerShell

/POW-er-shel/ · noun · Development · Origin: 2006

Definitions

  1. Microsoft's command-line shell and scripting language, introduced in 2006 and open-sourced as cross-platform PowerShell Core in 2016. Its defining departure from Unix shells is that pipelines carry structured .NET objects rather than lines of text, so a command's output retains typed properties and can be filtered or sorted without parsing. Commands follow a rigid Verb-Noun convention such as Get-Process or Set-ItemProperty, which makes a large surface area unusually discoverable. PowerShell has deep hooks into Windows management through WMI, the registry, and Active Directory, making it the standard tool for Windows administration at scale. That same reach makes it a favourite of attackers, and fileless PowerShell attacks prompted defensive features including script block logging, constrained language mode, and execution policies.

    In plain English: Microsoft's command-line tool for managing Windows systems and automating tasks, more powerful than the old Command Prompt.

    Example: I wrote a PowerShell script that provisions an entire Active Directory environment in 20 minutes — try doing that in Bash on Windows.

Origin Story

The shell that treats everything as an object instead of text

Jeffrey Snover at Microsoft created PowerShell (originally codenamed **Monad**) after writing an influential 2002 manifesto arguing that Windows needed a modern command-line shell. Unix shells pipe text between commands; Snover's insight was to pipe **.NET objects** instead.

The name **PowerShell** replaced "Monad" in 2006. "Power" reflected its capabilities beyond traditional shells, and "Shell" anchored it in familiar territory. Microsoft initially positioned it as an optional download before making it a core Windows component.

The paradigm shift was profound: instead of parsing text output with regex, PowerShell commands emit structured objects with properties and methods. `Get-Process | Where-Object {$_.CPU -gt 100}` filters by actual numeric CPU values, not string patterns.

Coined by: Jeffrey Snover

Context: Microsoft, 2006 (Monad manifesto 2002)

Fun fact: Snover was demoted for pushing PowerShell internally at Microsoft, which initially resisted the idea of a powerful command line. He was later promoted to Technical Fellow -- Microsoft's highest individual contributor title -- when PowerShell became essential to Azure and Windows Server.

Related Terms