- Shell and scripting language: PowerShell functions simultaneously as an interactive command shell and a full scripting language, meaning the same syntax used to type commands at a prompt can be saved into a
.ps1file and executed repeatedly as an automation script. - Cmdlet naming convention: Every native command, called a cmdlet, follows a strict Verb-Noun pattern such as
Get-Process()orStop-Service(), which makes command discovery predictable because learners can guess the noun once they know the standard verbs like Get, Set, New, and Remove. - Object-based output: Unlike traditional shells that pass plain text between commands, PowerShell passes structured .NET objects through its pipeline, preserving properties and methods so that downstream commands can filter, sort, or transform data without fragile text parsing.
- Discovery cmdlets: The
Get-Command(),Get-Help(), andGet-Member()cmdlets form a discovery triad that lets a practitioner find available commands, read usage documentation, and inspect the properties and methods of any returned object. - Execution policy: Windows restricts script execution by default through an execution policy setting, and administrators must understand levels like Restricted, RemoteSigned, and Unrestricted to balance security against the practical need to run locally authored scripts.
- Console versus ISE versus terminal: PowerShell can run inside the classic console host, the Integrated Scripting Environment, or modern terminal applications, each offering different levels of syntax highlighting, tab completion, and debugging support for script authors.
- Cross-platform evolution: PowerShell Core, now unified as PowerShell 7 and later, runs on Windows, Linux, and macOS, which means scripts written with cross-platform compatibility in mind can automate heterogeneous infrastructure from a single codebase.
- Session and profile concepts: Each PowerShell session can load a profile script that pre-configures variables, functions, and modules, giving administrators a consistent working environment every time they open a new session on a given machine.
Get-Command -Verb Get -Noun Service
Get-Help Get-Service -Examples
Get-Service | Get-Member -MemberType Property
Get-Service -Name 'wuauserv' | Select-Object Status, Name, DisplayNameThis sequence demonstrates the discovery workflow: finding a cmdlet by verb and noun, reading its documentation, inspecting object properties, then filtering output to only the fields needed. This pattern applies to almost any unfamiliar cmdlet in an administrator's daily work.
- PowerShell combines interactive shell use with full scripting capability in one language.
- Cmdlets follow a Verb-Noun naming pattern that supports predictable discovery.
- Output is passed as structured objects rather than plain text, preserving properties and methods.
Get-Command(),Get-Help(), andGet-Member()form the foundation of self-service learning within the shell.