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:

  1. Get-Command – Display a list of all available commands
  2. Get-Help – Display a help page describing how to use a specific command
  3. Get-Location – Show the current directory
  4. Rename-Item – Change the filename of a file
  5. Restart-Computer – Restart the computer
While PowerShell's syntax is different than the standard DOS shell, it is backward-compatible with many CMD commands. For example, dir (and ls) are aliases for Get-ChildItem, which lists the contents of the current directory.

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.

Updated September 17, 2022 by Per C.

quizTest Your Knowledge

Which of the following best describes a CLI user interface?

Correct! Incorrect!     View the Command Line Interface definition.
More Quizzes →

The Tech Terms Computer Dictionary

The definition of PowerShell on this page is an original definition written by the TechTerms.com team. If you would like to reference this page or cite this definition, please use the green citation links above.

The goal of TechTerms.com is to explain computer terminology in a way that is easy to understand. We strive for simplicity and accuracy with every definition we publish. If you have feedback about this definition or would like to suggest a new technical term, please contact us.

Sign up for the free TechTerms Newsletter

How often would you like to receive an email?

You can unsubscribe or change your frequency setting at any time using the links available in each email.

Questions? Please contact us.