Skip to content
AgileLogics
4 min read

What Is PowerShell?

PowerShell is a shell and scripting language from Microsoft. Like Bash, you type commands at a prompt or save them in scripts. Unlike Bash, its commands pass objects — structured data with named properties — instead of plain text.

$languages = 'PowerShell', 'Bash', 'Python'
$languages | Where-Object { $_.Length -gt 4 } | ForEach-Object { $_.ToUpper() }
POWERSHELL
PYTHON

Its defining traits:

  • Objects in the pipeline — commands exchange structured data, so you filter and sort by property name instead of cutting text apart.
  • Consistent command names — commands (called cmdlets) follow a Verb-Noun pattern: Get-Process, Stop-Service, New-Item. Once you know the pattern, you can often guess a command's name.
  • Built on .NET — every .NET class and library is available, which makes PowerShell powerful for anything from string handling to web requests.
  • Cross-platform — PowerShell 7 runs on Windows, Linux, and macOS. The older Windows PowerShell 5.1, built into Windows, is Windows-only.

This course targets PowerShell 7 (the examples were run on 7.6, a long-term-support release) and notes where Windows PowerShell 5.1 differs.