Go to file
Steve Lee ee45650660 Enable PSReadline to work on NanoServer (#3815)
NanoServer is missing some console APIs that PSReadline uses which causes PSReadline to not be usable on NanoServer docker images.

For the missing font/display APIs, the fix is to assume all characters use 1 cell which is not always correct for some languages.

For the missing keymap APIs - there is no workaround in this change and a small number of key bindings don't work, there is an open issue to track those.

Fixes #3463
2017-05-31 10:26:41 -07:00
.github Update the PR template to remove links (#3193) 2017-02-23 16:40:20 -08:00
.vscode Fix VS Code debug output (#2425) 2016-10-05 10:47:33 -07:00
assets Use Product Semantic version in the MSI installer where possible (#3435) 2017-03-29 13:36:44 -07:00
demos Fix markdown lint issues for SSH Remoting demo and enable related tests (#3484) 2017-04-11 09:42:37 -07:00
docker Add locales package and only generate locale after adding package (#3756) 2017-05-10 12:47:22 -07:00
docs update the doc about hosting powershell with a sample that uses beta.1 packages (#3770) 2017-05-12 15:25:41 -07:00
src Enable PSReadline to work on NanoServer (#3815) 2017-05-31 10:26:41 -07:00
test Fix daily test failure in set-content test (#3884) 2017-05-30 14:20:18 -07:00
tools Do not send telemetry in CI (#3785) 2017-05-17 11:08:38 -07:00
.gitattributes Set merge=union for changelog 2016-08-04 14:57:13 -07:00
.gitignore Add telemetry to the console host to report platform and version (#3620) 2017-04-25 22:51:22 -07:00
.gitmodules Move modules shared between frameworks in Module/Shared folder 2016-07-01 12:20:48 -07:00
.markdownlint.json Update CHANGELOG.md for 'v6.0.0-beta.1' release (#3736) 2017-05-08 17:58:12 -07:00
.spelling update the doc about hosting powershell with a sample that uses beta.1 packages (#3770) 2017-05-12 15:25:41 -07:00
.travis.yml Move powershell to .NET Core 2.0 (#3556) 2017-04-17 11:52:38 -07:00
appveyor.yml Update docs for beta.1 release (#3748) 2017-05-10 09:49:02 -07:00
build.psm1 Change package name 'el7.centos' to 'el7' (#3732) 2017-05-30 15:25:07 -07:00
build.sh Update 'Build.sh' to allow building powershell manually on Unix (#3710) 2017-05-05 15:17:01 -07:00
CHANGELOG.md Update CHANGELOG.md for 'v6.0.0-beta.1' release (#3736) 2017-05-08 17:58:12 -07:00
codecov.yml Make OpenCover merge and upload more reliable/usable (#3078) 2017-02-01 15:45:03 -08:00
license_thirdparty_proprietary.txt Add AppImage tooling 2017-02-17 11:07:10 -08:00
LICENSE.txt add line breaks to license 2016-08-01 15:48:54 -07:00
nuget.config use global nuget package cache (#2987) 2017-01-17 13:00:52 -08:00
README.md Adding Server 2008 R2 to README.md (#3824) 2017-05-19 11:31:41 -07:00
ThirdPartyNotices.txt grammer fix (#1989) 2016-08-21 08:19:57 -07: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.

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.

Platform Downloads How to Install
Windows 10 / Server 2016 (x64) .msi Instructions
Windows 8.1 / Server 2012 R2 (x64) .msi Instructions
Windows 7 / Server 2008 R2 (x64) .msi Instructions
Windows 7 (x86) .msi Instructions
Ubuntu 16.04 .deb Instructions
Ubuntu 14.04 .deb Instructions
Debian 8 .deb Instructions
CentOS 7 .rpm Instructions
Red Hat Enterprise Linux 7 .rpm Instructions
OpenSUSE 42.1 .rpm Instructions
Arch Linux Instructions
Many Linux distributions .AppImage Instructions
macOS 10.12 .pkg Instructions
Docker 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.

Building the Repository

Linux Windows macOS
Instructions Instructions Instructions

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

Build status of master branches

AppVeyor (Windows) Travis CI (Linux / macOS)
av-image tv-image

Build status of nightly builds

AppVeyor (Windows) Travis CI (Linux / macOS) Code Coverage Status
av-nightly-image tv-nightly-image cc-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.

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

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, delete the file DELETE_ME_TO_DISABLE_CONSOLEHOST_TELEMETRY before starting PowerShell from the installed location. The telemetry we collect fall under the Microsoft Privacy Statement.

Governance

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.