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-Nounpattern: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.