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.

Definitions by TechTerms.com

The definition of PowerShell on this page is an original TechTerms.com definition. If you would like to reference this page or cite this definition, you can 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 the PowerShell definition or would like to suggest a new technical term, please contact us.

Want to learn more tech terms? Subscribe to the daily or weekly newsletter and get featured terms and quizzes delivered to your inbox.

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.