
PowerShell 跨平台快速上手10分钟装好并写出第一个自动化脚本【免费下载链接】PowerShellPowerShell for every system!项目地址: https://gitcode.com/GitHub_Trending/po/PowerShellPowerShell 是微软开源的跨平台命令行工具与脚本语言一个安装包就能覆盖 Windows、Linux 和 macOS 三大系统。本文带你完成 PowerShell 7 的最快安装流程并亲手写出第一个能真正跑起来的自动化脚本全程不超过 10 分钟。PowerShell 是什么一个横跨三大平台的命令行外壳如果你只熟悉 Linux 的 bash可以把 PowerShell 理解成带对象管道的 bash。传统 shell 在命令之间传递的是纯文本而 PowerShell 传递的是 .NET 对象——你在第一步查到的进程、服务、文件可以直接作为结构化数据喂给第二步的过滤命令省去大量文本切割。它还自带一套叫 cmdlet 的命令集合命名遵循动词-名词规则比如Get-Process、Stop-Service语法统一跨平台行为一致。也就是说你在 Linux 服务器上练熟的脚本换到 Windows 上不用改写法。PowerShell 7 Linux 安装最快两步走法以 Debian/Ubuntu 系为例两步搞定其他发行版如 RHEL、SUSE 有对应的官方脚本见 tools/install-powershell.shsudo apt-get update sudo apt-get install -y powershell安装完成后命令入口是pwsh注意不带 s 的旧版入口属于 Windows PowerShell 5.1两者不要混用。验证是否装好pwsh -c $PSVersionTable.PSVersion看到7.x.x开头的版本号就成功了。macOS 用户可以直接装.pkg安装包或用 Homebrew 执行brew install --cask powershell。PowerShell 首次运行验证环境与试一条实用命令打开 pwsh 后先跑一条真实有用的命令感受一下对象管道的威力——按内存占用列出前 5 个进程Get-Process | Sort-Object WS -Descending | Select-Object -First 5 Name, WS一行命令输出整齐的对齐表格。传统 bash 写同样的事通常要套ps、sort、awk三个工具。这就是 PowerShell 日常使用中最直观的效率收益更少的工具拼接、更少的报错排查。编写你的第一个 PowerShell 自动化脚本创建check-disk.ps1写入以下内容Get-PSDrive -PSProvider FileSystem | Where-Object Free -gt 1GB | Select-Object Name, {NUsed%;E{[math]::Round(100-($_.Free/$_.Used*100),1)}}运行方式pwsh -File ./check-disk.ps1脚本做的事遍历所有文件系统驱动器过滤出剩余空间大于 1GB 的算出已用百分比。以后把这段贴进定时任务crontab 或任务计划程序就是一份每日磁盘健康报告。写脚本时有两条习惯能帮你少走弯路命令名严格用动词-名词写之前先按 Tab 让 PowerShell 帮你补全输出尽量保持结构化用Select-Object挑选字段方便下游程序直接消费如果你想自己写一个 cmdlet 级别的扩展模块仓库里有一份完整图解教程cmdlet 开发示例从创建项目到导入运行都有截图对照。进阶技巧让输出对接 JSON、CSV 与 REST APIPowerShell 的杀手锏是结构化数据进出。三个高频用法每个一行输出转 JSONGet-Service | ConvertTo-Json -Depth 3读取 CSVImport-Csv ./data.csv | Where-Object Status -eq Active调 REST 接口Invoke-RestMethod -Uri https://api.github.com/repos/PowerShell/PowerShell最后一条返回的是已经解析好的 .NET 对象你可以直接Select-Object stargazers_count不用自己写 JSON 解析代码。对运维和测试同学来说这条基本能替代大量临时 Python 脚本。更深入的用法比如用 PowerShell 搭建 CI 任务可以参考仓库自带的社区文档docs/FAQ.md。PowerShell 新手常见问题问装了 pwsh为什么旧的 PowerShell 脚本跑不了Windows PowerShell 5.1 的脚本在大多数情况下可以直接运行但个别只依赖 Windows 专属模块如 WMI 旧语法的脚本需要改用Get-CimInstance写法。报错时先看命令是否依赖了平台专属模块。问Linux 上执行 .ps1 提示权限不足脚本不是被当作二进制执行的请始终用pwsh -File ./脚本.ps1的方式运行不要加chmod x后直接执行。问输出表格太宽被截断了怎么办在会话里先执行$host.UI.RawUI.BufferSize New-Object psobject {Width200; Height50}或干脆把结果Format-List展开查看。问PowerShell 7 和 5.1 我该用哪个新项目一律用 7跨平台、迭代活跃。5.1 只存在于 Windows 且已停止功能更新。现在就开始回到起点一个终端两条安装命令一个能跑的报告脚本——这就是 PowerShell 跨平台能力的最小验证闭环。想深入源码或参与贡献把仓库克隆下来git clone https://gitcode.com/GitHub_Trending/po/PowerShell【免费下载链接】PowerShellPowerShell for every system!项目地址: https://gitcode.com/GitHub_Trending/po/PowerShell创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考