Definition
PowerShell is Microsoft’s task automation and configuration framework built on .NET. Interactive users run cmdlets (verb-noun commands like Get-Process) that emit objects, not just text lines. Scripts compose pipelines, modules ship vendor and cloud commands, and remoting runs blocks on remote machines through WinRM (Windows) or SSH (PowerShell 7+).
Common real-world uses
| Area | Examples | Why objects help |
|---|---|---|
| Windows admin | Services, Event Log, registry hives, storage | Filter and export without fragile string parsing |
| Networking | Get-NetTCPConnection, Test-NetConnection | Scriptable socket and route views |
| Cloud / identity | Microsoft Graph, Azure Az modules | Same language for on-prem and SaaS APIs |
| Build and release | CI agents, packaging, linting scripts | Cross-platform pwsh where modules exist |
What PowerShell is not
It is not a replacement for every GUI workflow on day one, not a guaranteed “more secure” shell (dangerous cmdlets exist), and not identical between Windows PowerShell 5.1 and PowerShell 7—always check cmdlet availability on your target OS.
Safety and governance
Enterprises combine transcription logging, Constrained Language Mode, JEA endpoints, code signing, and application control alongside—not instead of—least-privilege design.
Related: CMD vs PowerShell, PowerShell networking, PowerShell commands for beginners, PowerShell vs CMD.