Go to file
2024-03-04 15:55:23 -08:00
.devcontainer Fix dev container (#14906) 2021-03-08 10:38:39 -08:00
.github Adding WG membership template (#21153) 2024-02-22 13:23:48 -05:00
.vscode vscode: Add editorconfig to recommended extensions (#13537) 2020-09-01 09:48:32 +05:00
.vsts-ci Remove trailing whitespace (#20085) 2023-08-21 10:04:50 -07:00
assets Generate MSI for win-arm64 installer (#20516) 2024-02-01 11:52:26 -08:00
CHANGELOG Update changelog for v7.4.1 (#21098) 2024-02-01 09:59:37 -08:00
demos Change docs.microsoft.com to learn.microsoft.com (#19994) 2023-07-17 15:54:17 -07:00
docker Removed old not-used-anymore docker-based tests for PS release packages (#16224) 2021-10-15 10:46:36 -07:00
docs Update WG members (#21091) 2024-02-01 10:00:23 -08:00
src Fall back to type inference when hashtable key value cannot be retrieved from safe expression (#21184) 2024-03-04 15:55:23 -08:00
test Fall back to type inference when hashtable key value cannot be retrieved from safe expression (#21184) 2024-03-04 15:55:23 -08:00
tools Update metadata.json and README.md (#21264) 2024-02-22 16:16:16 -08:00
.editorconfig Change docs.microsoft.com to learn.microsoft.com (#19994) 2023-07-17 15:54:17 -07:00
.gitattributes Use Unix line endings for shell scripts (#15180) 2021-04-12 09:32:18 -07:00
.gitignore Always regenerate files wxs fragment (#19196) 2023-03-08 22:27:39 +00:00
.globalconfig Enable CA1868: Unnecessary call to 'Contains' for sets (#21165) 2024-02-29 22:56:22 +05:00
.mailmap Add Git mailmap for Andy Jordan (#19469) 2023-04-26 11:33:28 -07:00
.markdownlint.json Update CHANGELOG.md for 'v6.0.0-beta.1' release (#3736) 2017-05-08 17:58:12 -07:00
.spelling Support Unix-Socket in WebCmdlets (#19343) 2023-07-24 16:44:32 -07:00
ADOPTERS.md Update ADOPTERS.md (#20555) 2023-10-23 15:22:13 -07:00
Analyzers.props Bump StyleCop.Analyzers from 1.2.0-beta.507 to 1.2.0-beta.556 (#20953) 2024-01-16 13:21:43 -08:00
build.psm1 Suppress MacOS package manager output (#21244) 2024-02-27 15:13:40 -08:00
CHANGELOG.md Refactor change logs into one log per release (#11165) 2019-12-02 17:47:08 -08:00
CODE_OF_CONDUCT.md Promote https (#8160) 2018-11-01 11:55:53 +05:00
codecov.yml Make OpenCover merge and upload more reliable/usable (#3078) 2017-02-01 15:45:03 -08:00
DotnetRuntimeMetadata.json Bump .NET SDK to 8.0.101 (#21084) 2024-01-17 11:53:01 -08:00
experimental-feature-linux.json Update experimental-feature json files (#21213) 2024-02-16 11:28:00 -08:00
experimental-feature-windows.json Update experimental-feature json files (#21213) 2024-02-16 11:28:00 -08:00
global.json Bump to .NET 9 Preview 1 (#21229) 2024-02-16 03:15:11 +00:00
LICENSE.txt Update LICENSE.txt so that it's recognized as MIT (#12729) 2020-05-19 13:13:37 -07:00
nuget.config Bump to .NET 9 Preview 1 (#21229) 2024-02-16 03:15:11 +00:00
PowerShell.Common.props Bump to .NET 9 Preview 1 (#21229) 2024-02-16 03:15:11 +00:00
PowerShell.sln Use Microsoft.PowerShell.MarkdownRender package from nuget.org (#14090) 2020-12-09 12:29:45 -08:00
README.md Update metadata.json and README.md (#21264) 2024-02-22 16:16:16 -08:00
Settings.StyleCop Fix the word wrapping in formatting to handle escape sequences properly (#17316) 2022-05-16 16:10:55 -07:00
stylecop.json Fix the word wrapping in formatting to handle escape sequences properly (#17316) 2022-05-16 16:10:55 -07:00
ThirdPartyNotices.txt Remove JetBrains.Annotations attributes (#21246) 2024-02-27 15:12:46 -08:00

logo PowerShell

Welcome to the PowerShell GitHub Community! PowerShell 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 codebase, changes made in this repository are not automatically ported back to Windows PowerShell 5.1. This also means that issues tracked here are only for PowerShell Core 6 and higher. Windows PowerShell specific issues should be reported with the Feedback Hub app, by choosing "Apps > PowerShell" in the category.

New to PowerShell?

If you are new to PowerShell and want 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 Download (LTS) Downloads (stable) Downloads (preview) How to Install
Windows (x64) .msi .msi .msi Instructions
Windows (x86) .msi .msi .msi Instructions
Ubuntu 22.04 .deb .deb .deb Instructions
Ubuntu 20.04 .deb .deb .deb Instructions
Ubuntu 18.04 .deb .deb .deb Instructions
Ubuntu 16.04 .deb N/A N/A Instructions
Debian 10 .deb .deb .deb Instructions
Debian 11 .deb .deb .deb
CentOS 7 .rpm .rpm .rpm Instructions
CentOS 8 .rpm .rpm .rpm
Red Hat Enterprise Linux 7 .rpm .rpm .rpm Instructions
openSUSE 42.3 .rpm .rpm .rpm Instructions
Fedora 35 .rpm .rpm .rpm Instructions
macOS 10.13+ (x64) .pkg .pkg .pkg Instructions
macOS 11+ (arm64) .pkg .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 (x64) 64-bit 64-bit Instructions
macOS (arm64) 64-bit 64-bit Instructions
Linux 64-bit 64-bit Instructions
Windows (ARM) 64-bit (preview) 64-bit Instructions
Raspbian (ARM) 32-bit/64-bit 32-bit/64-bit Instructions

To install a specific version, visit releases.

Upgrading PowerShell

For best results when upgrading, you should use the same install method you used when you first installed PowerShell. The update method will be different for each platform and install method. For more information, see Installing PowerShell.

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.

Discussions

GitHub Discussions is a feature to enable free and open discussions within the community for topics that are not related to code, unlike issues.

This is an experiment we are trying in our repositories, to see if it helps move discussions out of issues so that issues remain actionable by the team or members of the community. There should be no expectation that PowerShell team members are regular participants in these discussions. Individual PowerShell team members may choose to participate in discussions, but the expectation is that community members help drive discussions so that team members can focus on issues.

Create or join a discussion.

Chat

Want to chat with other members of the PowerShell community?

There are dozens of topic-specific channels on our community-driven PowerShell Virtual User Group, which you can join on:

Add-ons and libraries

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

Building the Repository

Linux Windows macOS
Instructions Instructions Instructions

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

Build status of nightly builds

Azure CI (Windows) Azure CI (Linux) Azure CI (macOS) CodeFactor Grade
windows-nightly-image linux-nightly-image macOS-nightly-image cf-image

Downloading the Source Code

You can clone the repository:

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

For more information, see working with the PowerShell repository.

Developing and Contributing

Please look into the Contribution Guide to know how to develop and contribute. If you are developing .NET Core C# applications targeting PowerShell Core, 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.

Support

For support, see the Support Section.

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:

Telemetry

Please visit our about_Telemetry topic to read details about telemetry gathered by PowerShell.

Governance

The governance policy for the 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.