PowerShell for every system!
Failed to load latest commit information.
.github Update CONTRIBUTION.md about adding an empty line after the copyright… Sep 10, 2018
.vscode Add PowerShell VSCode style settings (#5529) Nov 29, 2017
.vsts-ci Wait for package manager not to be locked (#7817) Sep 18, 2018
assets Make sure MSI build works when not preview (#7752) Sep 10, 2018
demos Update docs about .NET Core version 2.0 to be about version 2.x (#7467) Aug 31, 2018
docker Updates to Docker package tests (#7667) Sep 5, 2018
docs Change locale of mdspell to en-US (#7671) Sep 5, 2018
src Fix .NET adapter to not throw when fails to create a PSMethod due to … Sep 17, 2018
test Add tests for Import-Module -Force (#7491) Sep 19, 2018
tools Remove packaging, building and installation scripts for Ubuntu 17.10 (#… Sep 17, 2018
.gitattributes Add VSTS CI for Windows (#7536) Aug 18, 2018
.gitignore Add type inference for Select-Object command (#7171) Jul 2, 2018
.gitmodules build: unbundle pester (#5623) Dec 7, 2017
.markdownlint.json Update CHANGELOG.md for 'v6.0.0-beta.1' release (#3736) May 9, 2017
.spelling Merged PR 4959: Update the ChangeLog.md for 6.1.0 release Sep 11, 2018
CHANGELOG.md Merged PR 4989: Update the release date Sep 13, 2018
CODE_OF_CONDUCT.md add CODE_OF_CONDUCT.md (#4109) Jun 28, 2017
LICENSE.txt Merge Third Party Notices and License updates (#7203) Jun 29, 2018
PowerShell.Common.props Update to latest package references, runtime framework, and SDK (#7646) Aug 31, 2018
PowerShell.sln Add xunit project to PowerShell.sln and make it runable from within V… Aug 2, 2018
README.md Remove badges for master build as it reflects last PR which is not ac… Sep 19, 2018
Settings.StyleCop Disable some StyleCop rules (#6986) Jun 5, 2018
ThirdPartyNotices.txt Added Markdown rendering cmdlets Jul 13, 2018
appveyor.yml Update to latest package references, runtime framework, and SDK (#7646) Aug 31, 2018
build.psm1 Remove packaging, building and installation scripts for Ubuntu 17.10 (#… Sep 17, 2018
codecov.yml Make OpenCover merge and upload more reliable/usable (#3078) Feb 1, 2017
global.json Update to latest package references, runtime framework, and SDK (#7646) Aug 31, 2018
nuget.config Restore modules from the NuGet package cache by using dotnet restore (#… Feb 27, 2018
stylecop.json Add Settings.StyleCop file (#6930) Jun 4, 2018


logo PowerShell

Welcome to the PowerShell GitHub Community! PowerShell Core is a cross-platform (Windows, Linux, and macOS) automation and configuration tool/framework that works well with your existing tools and is optimized for dealing with structured data (e.g. JSON, CSV, XML, etc.), REST APIs, and object models. It includes a command-line shell, an associated scripting language and a framework for processing cmdlets.

Windows PowerShell vs PowerShell Core

Although this repository started as a fork of the Windows PowerShell code base, changes made in this repository do not make their way back to Windows PowerShell 5.1 automatically. This also means that issues tracked here are only for PowerShell Core 6. Windows PowerShell specific issues should be opened on UserVoice.

New to PowerShell?

If you are new to PowerShell and would like to learn more, we recommend reviewing the getting started documentation.

Get PowerShell

You can download and install a PowerShell package for any of the following platforms.

Supported Platform Downloads (stable) Downloads (preview) How to Install
Windows (x64) .msi .msi Instructions
Windows (x86) .msi .msi Instructions
Ubuntu 18.04 .deb .deb Instructions
Ubuntu 16.04 .deb .deb Instructions
Ubuntu 14.04 .deb .deb Instructions
Debian 8.7+ .deb .deb Instructions
Debian 9 .deb .deb Instructions
CentOS 7 .rpm .rpm Instructions
Red Hat Enterprise Linux 7 .rpm .rpm Instructions
OpenSUSE 42.2 .rpm .rpm Instructions
Fedora 27, Fedora 28 .rpm .rpm Instructions
macOS 10.12+ .pkg .pkg Instructions
Docker Instructions

You can download and install a PowerShell package for any of the following platforms, which are supported by the community.

Platform Downloads (stable) Downloads (preview) How to Install
Arch Linux Instructions
Kali Linux .deb .deb Instructions
Many Linux distributions Snapcraft Snapcraft

You can also download the PowerShell binary archives for Windows, macOS and Linux.

Platform Downloads (stable) Downloads (preview) How to Install
Windows 32-bit/64-bit 32-bit/64-bit Instructions
macOS 64-bit 64-bit Instructions
Linux 64-bit 64-bit Instructions
Windows (arm) Experimental 32-bit/64-bit 32-bit/64-bit Instructions
Raspbian (Stretch) Experimental .tgz .tgz Instructions

To install a specific version, visit releases.

Community Dashboard

Dashboard with visualizations for community contributions and project status using PowerShell, Azure, and PowerBI.

For more information on how and why we built this dashboard, check out this blog post.

Chat Room

Want to chat with other members of the PowerShell community?

We have a Gitter Room which you can join below.

Join the chat at https://gitter.im/PowerShell/PowerShell

There is also the community driven PowerShell Slack Team which you can sign up for at Slack Sign up.

Add-ons and libraries

Awesome PowerShell is a great curated list of add-ons and resources.

Building the Repository

Linux Windows macOS
Instructions Instructions Instructions

If you have any problems building, please consult the developer FAQ.

Build status of nightly builds

AppVeyor (Windows) Azure CI (Linux) Azure CI (macOS) Code Coverage Status Code Factor Status
av-nightly-image linux-nightly-image macOS-nightly-image cc-image cf-image

Downloading the Source Code

The PowerShell repository has a number of other repositories embedded as submodules.

To make things easy, you can just clone recursively:

git clone --recursive https://github.com/PowerShell/PowerShell.git

If you already cloned but forgot to use --recursive, you can update submodules manually:

git submodule update --init

See working with the PowerShell repository for more information.

Developing and Contributing

Please see the Contribution Guide for how to develop and contribute.

If you have any problems, please consult the known issues, developer FAQ, and GitHub issues. If you do not see your problem captured, please file a new issue and follow the provided template. If you are developing .NET Core C# applications targeting PowerShell Core, please check out our FAQ to learn more about the PowerShell SDK NuGet package.

Also make sure to check out our PowerShell-RFC repository for request-for-comments (RFC) documents to submit and give comments on proposed and future designs.

Legal and Licensing

PowerShell is licensed under the MIT license.

Windows Docker Files and Images

License: By requesting and using the Container OS Image for Windows containers, you acknowledge, understand, and consent to the Supplemental License Terms available on Docker hub:


By default, PowerShell collects the OS description and the version of PowerShell (equivalent to $PSVersionTable.OS and $PSVersionTable.GitCommitId) using Application Insights. To opt-out of sending telemetry, create an environment variable called POWERSHELL_TELEMETRY_OPTOUT set to a value of 1 before starting PowerShell from the installed location. The telemetry we collect fall under the Microsoft Privacy Statement.


Governance policy for PowerShell project is described here.

Code of Conduct

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.