PowerShell
微软开源的跨平台自动化与配置框架,包含命令行 Shell、脚本语言与 cmdlet 处理框架,原生适配 Windows、Linux 与 macOS,擅长处理 JSON、CSV、XML 等结构化数据与 REST API。
过去 7 天收获 2 颗 Star
爱鲜报评分
0 人评分
56k
星数
否
中文
C#
主语言
是
活跃
556
贡献者
人工分析
EDITORIAL推荐理由
PowerShell 7+ 是微软官方维护的跨平台 Shell 与脚本语言,拥有 5.5 万 Star 与成熟社区,稳定性和文档完善度都很高。它把对象化管道与 .NET 生态结合,处理结构化数据和调用 REST API 时比传统 Shell 更省心。对需要统一运维 Windows 与 Linux 环境的团队尤其值得引入。
适用场景
- 跨平台运维自动化脚本
- Windows/Linux 服务器批量配置管理
- 调用 REST API 与处理 JSON/CSV/XML 数据
- CI/CD 流水线中的构建与部署任务
- 基于 .NET SDK 开发自定义 cmdlet 与工具
优点
- 微软官方维护,MIT 协议,社区活跃
- 对象化管道,处理结构化数据能力强
- 一套脚本跨 Windows、Linux、macOS 运行
- 与 .NET 生态深度集成,可调用 C# 库
- 文档与学习资源丰富,安装方式清晰
缺点
- 语法与 Bash 等传统 Shell 差异较大,需要适应
- Windows PowerShell 5.1 与 PowerShell 7+ 存在版本割裂
- 启动速度与内存占用高于轻量 Shell
- 部分模块与平台特性仍存在兼容性差异
PowerShell 是什么
PowerShell 是微软开源的跨平台自动化与配置框架,包含命令行 Shell、配套脚本语言以及 cmdlet 处理框架。它可在 Windows、Linux 与 macOS 上运行,并能与现有工具良好协作,尤其擅长处理 JSON、CSV、XML 等结构化数据、REST API 与对象模型。
注意:本仓库对应 PowerShell 7.x 及以上版本,改动不会回移到 Windows PowerShell 5.1。5.1 相关问题应通过 Feedback Hub 反馈。
核心特性
- 对象化管道:命令之间传递的是 .NET 对象而非纯文本,减少解析字符串的麻烦。
- 跨平台一致:同一套脚本可在 Windows、Linux、macOS 上执行。
- 结构化数据处理:内置对 JSON、CSV、XML 的转换与查询能力。
- REST API 友好:通过
Invoke-RestMethod等 cmdlet 直接调用接口。 - 可扩展:基于 .NET SDK 编写自定义 cmdlet 与模块。
快速上手
安装方式因平台而异,官方推荐参考「Installing PowerShell」文档;升级时建议沿用首次安装所用的方式。
# 查看版本
$PSVersionTable
# 调用 REST API 并处理 JSON
$data = Invoke-RestMethod -Uri "https://api.example.com/items"
$data | Where-Object { $_.status -eq "active" } | Select-Object name, id
克隆源码:
git clone https://github.com/PowerShell/PowerShell.git
社区与贡献
项目通过 GitHub Discussions 承载非代码类讨论,Issue 区聚焦可执行的问题。社区在 Discord、Libera.Chat IRC 与 Slack 上设有交流频道。贡献前建议先阅读 Contribution Guide,设计与提案可提交至 PowerShell-RFC 仓库。
许可与治理
PowerShell 采用 MIT 许可证,项目治理策略见官方 Governance 文档,参与前请阅读行为准则与安全策略。
评论
- 暂无评论,来写第一条吧。