PowerShell is a software automation technology developed by Microsoft. It includes a command-line shell and a corresponding scripting language. Microsoft introduced PowerShell for Windows in 2006 to address the shortcomings of DOS. In 2016, Microsoft made the technology open-source and multiplatform, providing versions for Windows, Linux, and macOS.
Microsoft PowerShell is similar to the standard DOS command prompt, but is built on the .NET framework. Unlike the DOS COMMAND.COM (or "CMD") shell, PowerShell accepts and returns .NET objects. It supports standard system commands and "cmdlets," which are specific to the PowerShell scripting language. Each cmdlet is a verb-noun pair, such as the examples below:
- Get-Command – Display a list of all available commands
- Get-Help – Display a help page describing how to use a specific command
- Get-Location – Show the current directory
- Rename-Item – Change the filename of a file
- Restart-Computer – Restart the computer
PowerShell runs in a command-line interface, similar to DOS, but is designed for automation. For example, the Windows command prompt can only run one command at a time, while PowerShell supports scripts that contain multiple commands. PowerShell is also extensible, allowing it access to several different APIs. Developers can use PowerShell to automate other Microsoft technologies, such as Azure and SQL Server, as well as third-party software, including AWS, Google Cloud, and VMware.