Mindket

PowerShell

Newversion 2 · updated
Star56k

Overview

Microsoft’s open source shell and scripting language for Windows, macOS and Linux. It passes .NET objects down a pipeline instead of text. The kit covers installing PowerShell 7 on each system, the first commands to learn, telemetry and building it from source.

PowerShell is an open-source project on GitHub in the Developer category, listed by Mindket. It is free. This is version 2, last updated on . Install it from GitHub as its README says. Get Mindket’s setup notes on your Mindket account, as a zip.

At a glance

Runs in
  • Windows, with WinGet, an MSI package, an MSIX package, a ZIP package or the .NET global tool
  • macOS, with the PKG, the .NET global tool, a binary archive or the community Homebrew formula
  • Ubuntu, Debian and RHEL, with a package from Microsoft’s package repository or a package file from GitHub
  • Alpine, with a tar.gz archive
Start with
winget install --id Microsoft.PowerShell --source winget

Platform

WindowsOperating system
macOSOperating system
LinuxOperating system

About

What it is

PowerShell is a cross-platform automation and configuration tool that runs on Windows, Linux and macOS. It is a command-line shell, a scripting language and a framework for processing cmdlets. Most shells accept and return only text. PowerShell passes .NET objects, so you filter results by property instead of parsing text output. It is built for structured data such as JSON, CSV and XML, for REST APIs and for object models. This repository started as a fork of the Windows PowerShell codebase, and its changes are not ported back to Windows PowerShell 5.1. Issues tracked in this repository are only for PowerShell 7.x and higher.

  1. You install PowerShell 7 for your system
  2. You start it with the pwsh command
  3. A cmdlet returns .NET objects, not text
  4. The pipe hands those objects to the next command
  5. Where-Object or Select-Object keeps what you need

Who it suits

System administrators used it first, to automate admin tasks on Windows. Microsoft says DevOps, cloud operations people and developers use it now. It fits anyone who automates work across Windows, Linux and macOS, or who handles JSON, CSV or XML from tools and APIs. As a scripting language it is commonly used to automate the management of systems, and to build, test and deploy solutions, often in CI/CD environments.

Who uses it, and how
IndustryWho uses itHow they use itExample
IT and administrationSystem administratorsAutomate almost any task on WindowsAn administrator scripts new users in Active Directory and new mailboxes in Exchange.
Software deliveryDevOps engineers and developersRun it as a step in a CI/CD pipelineA team follows Microsoft’s page on building a CI/CD pipeline with DSC.
CloudCloud operations engineersRetrieve, update or deploy cloud resources through modulesAn engineer uses Microsoft’s Azure module, or a third-party module for AWS, VMware or Oracle Cloud.
Configuration managementInfrastructure teamsKeep settings as code with Desired State ConfigurationA team enforces a declarative configuration and reports on configuration drift.
Data and APIsDevelopersWork with structured data such as JSON, CSV and XML, and with REST APIsA developer uses the built-in support for CSV, JSON and XML instead of parsing text output.

Windows already has Windows PowerShell 5.1 installed by default. PowerShell 7 does not replace it. It installs to a new folder and runs beside it.

Where to use it

PowerShell 7 runs on these systems, and the kit has a page for each.

  • Windows, with WinGet, an MSI package, an MSIX package, a ZIP package or the .NET global tool
  • macOS, with the PKG, the .NET global tool, a binary archive or the community Homebrew formula
  • Ubuntu, Debian and RHEL, with a package from Microsoft’s package repository or a package file from GitHub
  • Alpine, with a tar.gz archive
  • Other Linux systems, with the Snap package or a binary archive, plus community routes for Raspberry Pi OS, Arch Linux and Kali
  • Linux, macOS or Windows, by building it from source

How to set it up

Get it saves a zip of Mindket’s setup notes in your downloads folder, with one page per system from Microsoft’s install pages. Microsoft recommends WinGet on Windows clients and its package repository on Ubuntu, Debian and RHEL.

What you need first
NeedDetail
A systemWindows, macOS, or Linux such as Ubuntu, Debian, RHEL or Alpine
A connectionTo download from Microsoft’s package repository or the GitHub releases page
WinGetPart of App Installer in Windows 11, and in Windows Server 2025 with Desktop Experience. Not available on Windows Server 2022 or earlier
sudoMost Linux commands and the macOS binary archive use it
An account or keyNone. The install pages ask for neither
  1. Open the kit page for your system.
  2. On Windows, run the WinGet line below. It works from cmd.exe, Windows PowerShell or pwsh.exe. Since PowerShell 7.6.0 it installs the MSIX package. Add --installer-type wix to get the MSI instead.
  3. On Linux, run the page’s script. On Ubuntu, Debian and RHEL it adds Microsoft’s package repository and installs powershell.
  4. On macOS, double-click the PKG. Download the one for your processor from the releases page first.
  5. Open a new terminal and run pwsh.
winget install --id Microsoft.PowerShell --source winget

Any system with the .NET Core SDK can use the global tool instead.

dotnet tool install --global PowerShell

How to use it

Start PowerShell with pwsh. Four cmdlets help you find your way: Get-Verb lists the verbs commands use, Get-Command lists installed commands, Get-Member shows what an object holds, and Get-Help shows a command’s help page. Pipe a command into Where-Object to keep the objects whose property matches, or into Get-Member to see the type it returns.

Get-Process | Where-Object {$_.ProcessName -like "p*"}
Get-Process | Get-Member

The pipe, the | character, sends the output of one command to the next as its input. For Get-Process, Get-Member reports the type System.Diagnostics.Process.

Example

You want to know which commands work with processes before you write a cleanup script. You ask Get-Command for every name that ends in -Process.

Get-Command -Name *-Process

Microsoft’s page on finding commands shows five cmdlets from the Microsoft.PowerShell.Management module: Debug-Process, Get-Process, Start-Process, Stop-Process and Wait-Process. Each name is a verb and the noun Process.

For newcomers and experts

If you are new. A cmdlet is a PowerShell command, named as a Verb-Noun pair such as Get-Process. Microsoft’s docs say PowerShell is designed to help you learn a little at a time, as you need it. The README points newcomers to Microsoft’s getting started documentation. The kit’s learning page lists it, with PowerShell 101 and the free PowerShell training on Microsoft Learn. Start with Get-Command and Get-Help.

For experts. Upgrade with the method you first used, as the README and the install pages say. On Windows, $PSHOME tells you which, and a path under WindowsApps means the MSIX package. From PowerShell 7.7.0 there is no MSI package, and WinGet installs only the MSIX. An MSIX install is for one user, runs in a sandbox and does not accept PowerShell remoting sessions. SSH remoting for outbound connections still works. The FAQ says not every error is a catchable exception by default, and that setting $ErrorActionPreference = 'Stop' will likely do what you want.

To build PowerShell yourself, import build.psm1, run Start-PSBootstrap, then Start-PSBuild -UseNuGetOrg. The flag points the build at the public NuGet.org feed, because the project references a private Azure Artifacts feed by default. C# developers get the Microsoft.PowerShell.SDK package from NuGet.org.

Good to know

PowerShell sends basic telemetry unless you opt out.

  • Telemetry: at startup pwsh sends items such as the operating system, the PowerShell version, the host’s location from its IP address and random GUIDs. Set POWERSHELL_TELEMETRY_OPTOUT to true, yes or 1 before it starts. From 7.6.2 on Windows, turning off optional diagnostic data works too
  • Setup notes only: the kit holds Mindket’s notes and no PowerShell files. Microsoft did not make or endorse them
  • Versions: the commands name the release the install pages showed on 3 November 2026. A preview can hold breaking changes and is not for production
  • Support: Microsoft supports the methods on its install pages. The Homebrew formula, the Arch package and Kali are community routes, and Canonical maintains the Snap packages. Microsoft supports PowerShell on a best-effort basis, and without a paid support agreement you are limited to community support
  • Windows PowerShell: its problems go to the Feedback Hub app, not to this repository
  • Containers: the README says the PowerShell container images are now maintained by the .NET team, and the containers at mcr.microsoft.com/powershell are currently not maintained
  • License: MIT, copyright Microsoft Corporation

README and files

README

PowerShell: setup notes

This kit holds setup notes only. Mindket wrote them. PowerShell itself, its installers and its packages come from Microsoft's repository and release pages: https://github.com/PowerShell/PowerShell

These notes are not made or endorsed by Microsoft. The GitHub description reads "PowerShell for every system!" The README says 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 adds that PowerShell "includes a command-line shell, an associated scripting language, and a framework for processing cmdlets."

License: MIT. The LICENSE.txt file (https://github.com/PowerShell/PowerShell/blob/master/LICENSE.txt) reads "Copyright (c) Microsoft Corporation." and "MIT License". The README's Docker section adds a separate term: by requesting and using the Container OS Image for Windows containers, you accept the Supplemental License Terms published on the Microsoft Artifact Registry.

Windows PowerShell and PowerShell 7

The README says this repository started as a fork of the Windows PowerShell codebase, and that changes made here are not ported back to Windows PowerShell 5.1. Issues tracked in the repository are only for PowerShell 7.x and higher. Windows PowerShell problems go to the Feedback Hub app, in the category "Apps > PowerShell".

The install page for Windows says PowerShell 7 does not replace Windows PowerShell 5.1. It installs to a new directory and runs beside it. These notes cover PowerShell 7 only.

Which release to install

The support page names three kinds of PowerShell 7 release. Source: https://learn.microsoft.com/powershell/scripting/PowerShell-Support-Lifecycle

  • Stable: a release that comes between LTS releases. It can hold critical fixes and new features.
  • LTS (long term servicing): an LTS release of PowerShell is an LTS release of .NET. Updates to it hold only critical security updates and servicing fixes.
  • Preview: a version still in development. The page says it can hold breaking changes and bugs, that it is not officially supported, and that you should not use it in production.

The page lists the current version of each kind and the end-of-support dates. On 3 November 2026 it named PowerShell 7.6.6 as the current LTS, supported until 14-Nov-2028, and gave 10-Nov-2026 as the end of support for PowerShell 7.5 and PowerShell 7.4 (LTS). They change, so read the page itself. The commands in these notes that name a version name the one the install pages showed on 3 November 2026.

The Linux overview page, which lists the supported Linux distributions, says "For the best compatibility, choose a long-term release (LTS) version."

What installs

PowerShell sends basic telemetry to Microsoft when pwsh starts and periodically during a session. See setup/telemetry.md for what it holds and how to switch it off. The pages above ask for no account or key.

Setup notes for each platform

  • setup/windows.md: WinGet, MSI, MSIX, ZIP and the .NET global tool
  • setup/macos.md: the PKG, the .NET global tool, the binary archive and Homebrew
  • setup/ubuntu.md
  • setup/debian.md
  • setup/rhel.md
  • setup/alpine.md
  • setup/other-linux.md: the Snap package, binary archives, Raspberry Pi OS, Arch Linux and Kali
  • setup/learning.md: the first commands for finding your way around, and Microsoft's learning pages
  • setup/telemetry.md: what PowerShell sends and how to opt out
  • setup/build-from-source.md: cloning the repository and building PowerShell yourself

Sources

Files
README.md  5 KB
setup/alpine.md  3 KB
setup/build-from-source.md  5 KB
setup/debian.md  4 KB
setup/learning.md  6 KB
setup/macos.md  5 KB
setup/other-linux.md  8 KB
setup/rhel.md  3 KB
setup/telemetry.md  3 KB
setup/ubuntu.md  5 KB
setup/windows.md  7 KB

11 files, 56 KB, downloaded as a zip.

What’s new

  • Version 2 · 2026-11-09

    Updated by Mindket to the current version of this kit.

  • Version 1 · 2026-11-03

Reviews

No ratings yet

Write a review

No reviews yet.

What people say

Posts and comments that name this project on Hacker News, Bluesky, X, Reddit, Facebook and YouTube, found by a weekly search and on Trendshift. Mindket doesn’t write or check them. Open one to read it where it was posted.

l33t_d0nutAudit and Block PowerShell with PowerShell Protect2 pointstrackdupdate for #PowerShell module `fullscreen` is out 😀 github.com/trackd/fulls... anyone like graphs? 😉 tons of examples in the repo.14 likes@ZheSuo5836powershell自己把自己更新炸了是么😅 什么叫因为窗口过窄而程序崩溃? 下午打开终端发现变成这样,太逆天了 找到了问题分析: https://t.co/PDpsDl2flp https://t.co/TAFZammfvOr/PowerShellPowerShell Show and Tell Tomorrow NightselmatRun PowerShell Without Powershell.exe – Best Tools and Techniques2 pointsMark WraggI've just published an #awesome list of #PowerShell modules. Looking for suggestions, particularly if it's a lesser known PS module that you think is particularly awesome: github.com/markwragg/aw...7 likes · 1 reply@awakecodingShould I include built-in YAML support in the Devolutions #PowerShell distribution? I'm thinking of bundling the yayaml PowerShell module, instead of requiring it to be installed separately.r/vimOpinionated TLDR for Windows userslelfThe Next Release of PowerShell – PowerShell 72 pointsMatthew DowstAttention, PowerShell enthusiasts! PowerShell Weekly for November 6, 2026 is live. Explore announcements, articles, learning resources, and script sections to stay ahead in the game. #PowerShell #Automation #TechNews psweekly.dowst.dev?p=93606 likes · 1 reply@NathanMcNultyHoly crap they did it! They backported support for AppContainers from 7.7 to 7.6 🥳 For those who many not be familiar with AppContainers - it's sandboxing. We can sandbox PowerShell. I repeat, we can freaking sandbox PowerShell, natively! https://t.co/DWY6LxEooO https://t.co/yCwpTT26gJl33t_d0nutPowerShim – Invoke Windows PowerShell from PowerShell Core2 points

Searched

More from Mindket

See all from Mindket

Bonsai-27B-GGUF

lmstudio-community · Kit

A GGUF conversion of the 27B Bonsai model for LM Studio, with a 3.80 GB Q1_0 language file and a 0.93 GB BF16 vision projector. Tested for text, vision and par…

New

Runs DeepSeek-V4.1-Flash-1017 as a 2.9 bits-per-weight EXL3 quantization, a 196 GiB copy for people serving large models on their own hardware. Perplexity stay…

New

MusicGen Small

facebook · Kit

Generates short music clips from a text description or an audio prompt, in the small checkpoint of facebook's MusicGen. It suits developers and music hobbyists…

New

Similar projects

See all in Developer

Hex

anomalyco · Kit

Transcribes spoken audio into text locally on your device and pastes the output into active applications. This tool is for users who want private speech recogn…

New5837

Lexnet

alpindale · Kit

Tags every character of C source code for syntax highlighting with a tiny neural network of about 984 weights, run through a small C program. For developers an…

New

FLUX.2 Klein LoRA Studio

prithivMLmods · Kit

Try a set of LoRAs for the FLUX.2 Klein image model in a Gradio app that runs in your browser or on your own computer. Made for people who make or test AI imag…

New