PowerShell Introduction
PowerShell is a .NET-based command-line shell and scripting language. Its core feature is "object-centric": commands flow through the pipeline as objects rather than plain text, making it more intuitive and efficient for handling system resources and structured data.
- Versions and Positioning:
- Windows PowerShell 5.1: Included with Windows, Windows only.
- PowerShell 7+: Cross-platform (Windows, Linux, macOS), uses .NET (Core).
- Comparison with CMD and Bash:
- CMD focuses on string processing; Bash is powerful in Unix-like environments but primarily text-based.
- PowerShell's pipeline passes .NET objects, naturally suitable for managing APIs, registry, services, WMI/CIM, event logs, etc.
- Typical Applications:
- Automation operations (batch modifications, configuration auditing, log collection, patches and deployment)
- Development assistance (scripted builds, testing, packaging, publishing)
- Desktop efficiency (replacement for batch files, quick automation, system information queries)
Design Philosophy: Verb-Noun naming (Get-Process, Set-Item), clear and discoverable; unified parameter and help system (Get-Help, Get-Command), reducing learning curve.