Mindket

PowerShell 跨平台命令行

新上架第 2 版 · 更新于
星标56k

概览

微软开源的命令行外壳和脚本语言,支持 Windows、macOS 和 Linux。它在管道里传递的是 .NET 对象,而不是文本。工具包讲了在每个系统上安装 PowerShell 7、入门要学的命令、遥测,以及怎么从源码构建。

PowerShell 跨平台命令行 是一款 GitHub 上的开源项目,属于开发类,由 Mindket 上架。可免费获取。当前为第 2 版,最近更新于 。按它的 README 从 GitHub 安装。Mindket 的设置说明可在你的 Mindket 账户获取,以 zip 压缩包下载。

速览

用在
  • Windows:用 WinGet、MSI 包、MSIX 包、ZIP 包或 .NET 全局工具
  • macOS:用 PKG、.NET 全局工具、二进制压缩包,或社区维护的 Homebrew formula
  • Ubuntu、Debian 和 RHEL:用微软软件包仓库里的包,或 GitHub 上的包文件
  • Alpine:用 tar.gz 压缩包
先运行
winget install --id Microsoft.PowerShell --source winget

平台

Windows操作系统
macOS操作系统
Linux操作系统

关于

它是什么

PowerShell 是一个跨平台的自动化和配置工具,能在 Windows、Linux 和 macOS 上运行。它包含命令行外壳、脚本语言,以及处理 cmdlet 的框架。大多数外壳只接收和返回文本。PowerShell 传递的是 .NET 对象,所以你按属性筛选结果,不用去解析文本输出。它为 JSON、CSV、XML 这类结构化数据,以及 REST API 和对象模型而设计。这个仓库最初从 Windows PowerShell 的代码库分叉出来,这里的改动不会移植回 Windows PowerShell 5.1。这个仓库里跟踪的问题只针对 PowerShell 7.x 及更高版本。

  1. 你为自己的系统安装 PowerShell 7
  2. 用 pwsh 命令启动它
  3. cmdlet 返回 .NET 对象,不是文本
  4. 管道把这些对象交给下一条命令
  5. 用 Where-Object 或 Select-Object 留下你要的部分

适合谁

最早用它的是系统管理员,用来在 Windows 上自动处理管理任务。微软说,现在 DevOps、云运维人员和开发者也在用。只要你要在 Windows、Linux 和 macOS 上做自动化,或者要处理工具和 API 给出的 JSON、CSV、XML,它都用得上。作为脚本语言,它常用来自动管理系统,也用来构建、测试和部署方案,常常是在 CI/CD 环境里。

谁在用,怎么用
行业谁在用怎么用例子
IT 和系统管理系统管理员自动完成 Windows 上几乎任何任务一位管理员写脚本,在 Active Directory 里建用户,在 Exchange 里建邮箱。
软件交付DevOps 工程师和开发者作为 CI/CD 流水线里的一步来运行一个团队照着微软的页面,用 DSC 搭一条 CI/CD 流水线。
云云运维工程师通过模块获取、更新或部署云资源一位工程师用微软的 Azure 模块,或者 AWS、VMware、Oracle Cloud 的第三方模块。
配置管理基础设施团队用 Desired State Configuration 把设置写成代码一个团队强制执行一份声明式配置,并报告配置漂移。
数据和 API开发者处理 JSON、CSV、XML 这类结构化数据,以及 REST API一位开发者用内置的 CSV、JSON、XML 支持,不用去解析文本输出。

Windows 默认已经装了 Windows PowerShell 5.1。PowerShell 7 不会替换它。它装进一个新文件夹,和 5.1 并排运行。

用在哪里

PowerShell 7 能在下面这些系统上运行,工具包里每种都有一页。

  • Windows:用 WinGet、MSI 包、MSIX 包、ZIP 包或 .NET 全局工具
  • macOS:用 PKG、.NET 全局工具、二进制压缩包,或社区维护的 Homebrew formula
  • Ubuntu、Debian 和 RHEL:用微软软件包仓库里的包,或 GitHub 上的包文件
  • Alpine:用 tar.gz 压缩包
  • 其他 Linux 系统:用 Snap 包或二进制压缩包,另有 Raspberry Pi OS、Arch Linux 和 Kali 的社区途径
  • Linux、macOS 或 Windows:从源码自己构建

如何设置

点“获取”会把一个装有 Mindket 安装说明的 zip 压缩包存进你的下载文件夹,每个系统一页,内容出自微软的安装页面。在 Windows 客户端上,微软推荐用 WinGet。在 Ubuntu、Debian 和 RHEL 上,它推荐用自己的软件包仓库。

先准备好这些
需要说明
一个系统Windows、macOS,或者 Ubuntu、Debian、RHEL、Alpine 这类 Linux
网络连接用来从微软的软件包仓库或 GitHub 发布页下载
WinGet属于 App Installer,Windows 11 自带,Windows Server 2025 只有桌面体验版自带。Windows Server 2022 及更早的版本没有
sudo大多数 Linux 命令和 macOS 二进制压缩包的步骤都要用
账号或密钥不需要。安装页面两样都不要
  1. 打开你那个系统的说明页。
  2. 在 Windows 上运行 WinGet。命令在下面,在 cmd.exe、Windows PowerShell 或 pwsh.exe 里都能运行。从 PowerShell 7.6.0 起它装的是 MSIX 包。要装 MSI 包,就加上 --installer-type wix。
  3. 在 Linux 上运行页面里的脚本。在 Ubuntu、Debian 和 RHEL 上,它会添加微软的软件包仓库,再安装 powershell。
  4. 在 macOS 上双击 PKG 文件。先从发布页下载适合你处理器的那个。
  5. 打开一个新终端,运行 pwsh。
winget install --id Microsoft.PowerShell --source winget

装有 .NET Core SDK 的系统,也可以改用全局工具。

dotnet tool install --global PowerShell

如何使用

用 pwsh 启动 PowerShell。有四个 cmdlet 帮你摸清门路:Get-Verb 列出命令常用的动词,Get-Command 列出已安装的命令,Get-Member 显示一个对象里有什么,Get-Help 显示命令的帮助页。把命令的输出用管道交给 Where-Object,就只留下属性匹配的对象。交给 Get-Member,就能看到它返回的类型。

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

管道就是 | 字符,它把一条命令的输出当作下一条命令的输入。对 Get-Process 来说,Get-Member 报出的类型是 System.Diagnostics.Process。

示例

你想在写清理脚本之前,先看看哪些命令能处理进程。你让 Get-Command 找出所有以 -Process 结尾的名字。

Get-Command -Name *-Process

微软讲查找命令的页面上,结果是 Microsoft.PowerShell.Management 模块里的五个 cmdlet:Debug-Process、Get-Process、Start-Process、Stop-Process 和 Wait-Process。每个名字都是一个动词加上名词 Process。

新手与专家

新手:cmdlet 就是 PowerShell 的命令,名字是“动词-名词”的形式,比如 Get-Process。微软的文档说,PowerShell 的设计就是让你按需要一点一点地学。README 建议新手先看微软的入门文档。工具包的学习页列出了它,还有 PowerShell 101 和 Microsoft Learn 上免费的 PowerShell 培训。先从 Get-Command 和 Get-Help 学起。

专家:升级时用你第一次安装时的方法,README 和安装页面都这么说。在 Windows 上,$PSHOME 能告诉你当初用的是哪种,路径在 WindowsApps 下面就是 MSIX 包。从 PowerShell 7.7.0 起不再有 MSI 包,WinGet 只装 MSIX。MSIX 安装只给一个用户用,在沙盒里运行,别人不能远程连进来。向外的 SSH 远程仍然能用。FAQ 说,默认情况下并不是每个错误都会成为能捕获的异常,设置 $ErrorActionPreference = 'Stop' 多半能达到你要的效果。

要自己构建 PowerShell,就导入 build.psm1,运行 Start-PSBootstrap,再运行 Start-PSBuild -UseNuGetOrg。项目默认引用一个私有的 Azure Artifacts 源,这个参数让构建改用公开的 NuGet.org 源。C# 开发者从 NuGet.org 获取 Microsoft.PowerShell.SDK 包。

注意事项

除非你选择退出,PowerShell 会发送基本的遥测数据。

  • 遥测:启动时 pwsh 会发送操作系统、PowerShell 版本、根据 IP 地址得出的主机位置和随机 GUID 等信息。在它启动之前把 POWERSHELL_TELEMETRY_OPTOUT 设为 true、yes 或 1 就能关掉。从 7.6.2 起,在 Windows 上关掉“可选诊断数据”也行
  • 只有安装说明:工具包里是 Mindket 写的说明,没有 PowerShell 的文件。这些说明不是微软写的,也没有得到微软的认可
  • 版本:命令里写的是 2026 年 11 月 3 日安装页面上显示的版本。预览版可能有破坏性改动,不适合生产环境
  • 支持:微软支持它安装页面上的方法。Homebrew formula、Arch 的包和 Kali 都是社区途径,Snap 包由 Canonical 维护。微软对 PowerShell 的支持是尽力而为,没有付费支持协议的话,只能靠社区支持
  • Windows PowerShell:它的问题通过“反馈中心”应用反馈,不要提交到这个仓库
  • 容器:README 说 PowerShell 容器镜像现在由 .NET 团队维护,mcr.microsoft.com/powershell 上的容器目前没人维护
  • 许可证:MIT,版权归 Microsoft Corporation

README 和文件

README

PowerShell:安装说明

这个工具包里只有安装说明,由 Mindket 编写。PowerShell 本身、它的安装程序和软件包,都来自微软的仓库和发布页:https://github.com/PowerShell/PowerShell

这些说明不是微软写的,也没有得到微软的认可。GitHub 上的简介是“PowerShell for every system!”。README 说 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.”,意思是:它是一个跨平台(Windows、Linux 和 macOS)的自动化和配置工具与框架,能和你现有的工具配合,并针对结构化数据(如 JSON、CSV、XML 等)、REST API 和对象模型做了优化。README 还说 PowerShell “includes a command-line shell, an associated scripting language, and a framework for processing cmdlets.”,也就是包含命令行外壳、配套的脚本语言,以及处理 cmdlet 的框架。

许可证:MIT。LICENSE.txt 文件(https://github.com/PowerShell/PowerShell/blob/master/LICENSE.txt )写的是“Copyright (c) Microsoft Corporation.”和“MIT License”。README 的 Docker 部分另有一条条款:请求并使用 Windows 容器的 Container OS Image,就表示你接受 Microsoft Artifact Registry 上发布的补充许可条款。

Windows PowerShell 和 PowerShell 7

README 说,这个仓库最初从 Windows PowerShell 的代码库分叉出来,这里的改动不会移植回 Windows PowerShell 5.1。仓库里跟踪的问题只针对 PowerShell 7.x 及更高版本。Windows PowerShell 的问题要通过“反馈中心”应用提交,类别选“Apps > PowerShell”。

Windows 的安装页面说,PowerShell 7 不会替换 Windows PowerShell 5.1。它装进一个新目录,和 5.1 并排运行。这些说明只讲 PowerShell 7。

装哪个版本

支持页面把 PowerShell 7 的版本分成三类。来源见 https://learn.microsoft.com/powershell/scripting/PowerShell-Support-Lifecycle

  • 稳定版(Stable):在两个 LTS 版本之间发布的版本,可能包含关键修复和新功能。
  • LTS(长期服务版):PowerShell 的 LTS 版本就是 .NET 的 LTS 版本。它的更新只包含关键安全更新和维护修复。
  • 预览版(Preview):仍在开发中的版本。页面说它可能有破坏性改动和 bug,没有正式支持,不应在生产环境中使用。

页面列出了每一类的当前版本和支持结束日期。2026 年 11 月 3 日,页面写的当前 LTS 是 PowerShell 7.6.6,支持到 2028 年 11 月 14 日。PowerShell 7.5 和 PowerShell 7.4(LTS)的支持在 2026 年 11 月 10 日结束。这些会变,请直接看页面。这些说明里带版本号的命令,用的是 2026 年 11 月 3 日安装页面上显示的版本。

Linux 概览页列出了支持的 Linux 发行版,它说:“For the best compatibility, choose a long-term release (LTS) version.”意思是:想要最好的兼容性,就选长期发布(LTS)版本。

会安装什么

PowerShell 会在 pwsh 启动时以及会话期间定期向微软发送基本的遥测数据。它包含什么、怎么关掉,见 setup/telemetry.md。上面这些页面都不要求账号或密钥。

各平台的安装说明

  • setup/windows.md:WinGet、MSI、MSIX、ZIP 和 .NET 全局工具
  • setup/macos.md:PKG、.NET 全局工具、二进制压缩包和 Homebrew
  • setup/ubuntu.md
  • setup/debian.md
  • setup/rhel.md
  • setup/alpine.md
  • setup/other-linux.md:Snap 包、二进制压缩包、Raspberry Pi OS、Arch Linux 和 Kali
  • setup/learning.md:用来认路的第一批命令,以及微软的学习页面
  • setup/telemetry.md:PowerShell 发送什么,以及怎么退出
  • setup/build-from-source.md:克隆仓库,自己构建 PowerShell

来源

  • README:https://github.com/PowerShell/PowerShell/blob/master/README.md
  • LICENSE:https://github.com/PowerShell/PowerShell/blob/master/LICENSE.txt
  • FAQ:https://github.com/PowerShell/PowerShell/blob/master/docs/FAQ.md
  • What is PowerShell?:https://learn.microsoft.com/powershell/scripting/overview
  • Installing PowerShell:https://learn.microsoft.com/powershell/scripting/install/installing-powershell
  • PowerShell Support Lifecycle:https://learn.microsoft.com/powershell/scripting/PowerShell-Support-Lifecycle
文件
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 个文件,共 56 KB,以 zip 压缩包下载。

更新内容

  • 第 2 版 · 2026-11-09

    Updated by Mindket to the current version of this kit.

  • 第 1 版 · 2026-11-03

评价

还没有评分

写评价

还没有评价。

大家怎么说

Hacker News、Bluesky、X、Reddit、Facebook 和 YouTube 上提到这个项目的帖子和评论,来自每周一次的搜索和 Trendshift。它们不是 Mindket 写的,也未经核实,点开即可在原帖处阅读。

l33t_d0nutAudit and Block PowerShell with PowerShell Protect2 分trackdupdate for #PowerShell module `fullscreen` is out 😀 github.com/trackd/fulls... anyone like graphs? 😉 tons of examples in the repo.14 赞@ZheSuo5836powershell自己把自己更新炸了是么😅 什么叫因为窗口过窄而程序崩溃? 下午打开终端发现变成这样,太逆天了 找到了问题分析: https://t.co/PDpsDl2flp https://t.co/TAFZammfvOr/PowerShellPowerShell Show and Tell Tomorrow NightselmatRun PowerShell Without Powershell.exe – Best Tools and Techniques2 分Mark 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 赞 · 1 条回复@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 分Matthew 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 赞 · 1 条回复@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 分

搜索日期

Mindket 的更多商品

查看 Mindket 的全部商品

Huashu Design

alchaincyf · 技能

把你在 AI 智能体里写的一句话需求,变成一份完成的设计:发布动画、可点击的应用原型、可编辑的幻灯片、信息图,或一组小红书图片。可在多种智能体中使用。

新上架29.4k

Guizang PPT Skill

op7418 · 技能

能生成单文件 HTML 幻灯片、幻灯片配图和多平台封面的技能,有两套视觉风格,还带演讲者模式用于排练。适合使用 Claude Code 或 Codex 的演讲者。

新上架29.8k

Claude Code Skills & Plugins

alirezarezvani · 技能

为 Claude Code 和其他编程智能体提供 411 个现成技能,按角色分组,从工程、产品到营销、财务和合规。以插件方式安装。适合开发者和业务团队。

新上架29.8k

Hex

anomalyco · 工具包

在你的设备上进行本地语音转文字,并将结果直接粘贴到当前应用中。这款工具适合希望在不将音频数据上传至云端的情况下,实现隐私化语音识别的用户。

新上架5837

buzz

block · 工具包

可自行托管的工作空间,人和 AI 智能体在同样的房间里协作,基于 Nostr 中继,把每个动作记录为签名事件。适合想自己运行中继的团队。

新上架37.3k

plannotator

backnotprop · 工具包

把你的 AI 编程智能体的计划、规格和代码改动在浏览器里打开,让你加批注或评论,并把反馈直接发回给智能体。

新上架10.5k