PowerShell is a cross-platform task automation solution made up of a command-line shell, a scripting
language, and a configuration management framework. PowerShell runs on Windows, Linux, and macOS.
PowerShell is a modern command shell that includes the best features of other popular shells. Unlike
most shells that only accept and return text, PowerShell accepts and returns .NET objects. The shell
includes the following features:
As a scripting language, PowerShell is commonly used for automating the management of systems. It's
also used to build, test, and deploy solutions, often in CI/CD environments. PowerShell is built on
the .NET Common Language Runtime (CLR). All inputs and outputs are .NET objects. No need to parse
text output to extract information from output. The PowerShell scripting language includes the
following features:
The extensible nature of PowerShell provides an ecosystem of PowerShell modules to deploy and manage
almost any technology you work with. For example:
Microsoft modules
Third-party modules
PowerShell Desired State Configuration (DSC) is a management framework in PowerShell that
enables you to manage your enterprise infrastructure with configuration as code. With DSC, you can:
- Create declarative configurations and custom scripts for repeatable deployments
- Enforce configuration settings and report on configuration drift
- Deploy configuration using push or pull models
Jeffrey Snover, the inventor of PowerShell, wrote the Monad Manifesto to explain his vision for
PowerShell and how it would change the way we manage systems. Use the following link to download a
copy of the Monad Manifesto.
This PDF file is a version of the original Monad Manifesto, which articulated the long-term vision and
started the development effort that became PowerShell. PowerShell has delivered on many of the
elements described in this document.
Are you new to PowerShell and don't know where to start? Take a look at these resources.
Take a look at how PowerShell is being used in different scenarios and on different platforms.