news 2026/9/12 17:28:12

PowerShell 跨平台自动化入门:如何在 Windows、Linux、macOS 上快速跑通脚本

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
PowerShell 跨平台自动化入门:如何在 Windows、Linux、macOS 上快速跑通脚本

PowerShell 跨平台自动化入门:如何在 Windows、Linux、macOS 上快速跑通脚本

【免费下载链接】PowerShellPowerShell for every system!项目地址: https://gitcode.com/GitHub_Trending/po/PowerShell

凌晨收到告警,要同时检查十台 Windows 服务器的某个服务是不是停了。手动一台台点过去?不现实。PowerShell 就是干这个的:一个跑在 Windows、Linux、macOS 三个系统上的命令行工具和脚本语言,同一套Get-ServiceGet-ChildItem命令,在哪台机器上都是这个写法。

⏱️ 3分钟安装并跑通第一条命令

  1. 安装:Windows 上从微软商店装 PowerShell 7,Linux 用系统包管理器或官方安装脚本,macOS 用 Homebrew。装完你会多一个pwsh命令。
  2. 验证:在终端输入pwsh启动,再输入$PSVersionTable

这条命令打印版本信息表,看到PSVersionPlatform两行,就说明装好了。整个过程不超过三分钟。

🌐 如何跨平台执行服务检查

运维最常遇到的场景:一批机器混着 Windows 和 Linux,检查服务状态得用两套命令,sc querysystemctl来回切。

在 pwsh 里直接运行Get-Service。人话解释:这条命令列出系统里所有服务的名字、启动方式和当前状态,停掉的服务一眼就能看出来。

同一台 Linux 机器上,Get-Service同样能查到 systemd 管理的服务。你原来写给 Windows 的检查脚本,改两行路径就能在 Linux 上跑,不用重写。

📁 如何批量整理文件和重命名

几百个日志文件散在目录里,要统一加日期前缀。资源管理器里点鼠标?点到手软。

在 pwsh 里用管道符把两步串起来:Get-ChildItem列出文件,传给Rename-Item改名,一条管道命令一次跑完。

人话解释:管道符|的意思是"把上一步的结果喂给下一步",这是 PowerShell 和普通命令行最大的区别——后面接着看模块管理时还会用到。

新手常踩的3个坑

问:终端提示"命令无法识别",明明已经装了?

现象:在 Linux 里敲powershell没反应。原因是 Linux 和 macOS 上这个可执行文件叫pwshpowershell只是 Windows 老版本的叫法。改用pwsh启动即可。

问:脚本文件一运行就提示"禁止运行脚本"?

现象:.ps1文件双击或执行被拦截。原因是 PowerShell 默认执行策略只放行签名脚本。执行一次Set-ExecutionPolicy RemoteSigned(意思是"本机自己写的脚本放行,下载的要签名"),之后就不会再拦。

问:Windows 上的结果和我电脑上不一样?

现象:同一个命令行为不一致。原因是 Windows 自带的是 Windows PowerShell 5.1,和新开源的 PowerShell 7 是两条线,7 的版本号才对应 Linux/macOS。用$PSVersionTable看一眼当前跑的是哪个,心里就有数了。

项目结构速览

想深入看实现,源码按模块划分得很清楚:

  • 引擎核心在 src/System.Management.Automation/,解析器、管道、执行上下文都在这
  • 管理命令实现在 src/Microsoft.PowerShell.Commands.Management/,Get-ServiceGet-Process这些服务检查命令的 C# 源码就在此
  • 各平台构建说明在 docs/building/,Linux、Windows、macOS 各一份
  • 测试用例在 test/powershell/,想看某条命令的预期行为,这里能找到对应的验证脚本

PowerShell 的价值在于一套命令覆盖三个系统,服务器管理不用再记两套语法。下一步:装好后进终端敲一次$PSVersionTable确认版本,然后照着 docs/FAQ.md 里的学习路径,从第一条脚本写起。

关键词:PowerShell、跨平台、自动化脚本、命令行工具、系统管理

【免费下载链接】PowerShellPowerShell for every system!项目地址: https://gitcode.com/GitHub_Trending/po/PowerShell

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/4 8:17:50

PDFium 集成深度解析:LiteParse 如何用 C 库提取文本

PDFium 集成深度解析:LiteParse 如何用 C 库提取文本 【免费下载链接】liteparse A fast, helpful, and open-source document parser 项目地址: https://gitcode.com/GitHub_Trending/li/liteparse LiteParse 是一款快速、开源的文档解析器,而它…

作者头像 李华
网站建设 2026/9/4 8:03:30

DeepSeek+Codex CLI实战:40轮提示词构建300万行数据分析Agent

如果你还在把 Codex 当成“高级版 Copilot”,只用它补几个函数、写两段单元测试,那这篇文章可能会颠覆你的认知。真实开发场景里,AI 编程 Agent 早已能独立撑起一个完整的数据分析工程:从数据探索、清洗、建模,到生成可…

作者头像 李华
网站建设 2026/9/4 8:20:18

一文掌握Cortex-A55:从交叉编译到QEMU与真实板部署

这次我们聊一个不跑手机跑分、但嵌入式工程师几乎天天见到的 CPU 核心:Arm Cortex-A55。它不是性能旗舰,也不是最新架构,但它出现在大量车载、工控、智能物联和入门级开发板里。这篇文章想把它一次说清楚:它适合跑什么任务&#x…

作者头像 李华
网站建设 2026/9/4 8:36:58

基于Simscape构建液压泵数字孪生体与预测性维护算法实践

简介:本资源面向自动化、机械工程及工业智能运维方向的学习者与工程师,聚焦液压系统数字孪生建模与预测性维护算法开发实践。基于MATLAB/Simscape平台构建高保真液压泵多物理场模型,完整覆盖机械振动、流体脉动与磨损演化耦合仿真&#xff0c…

作者头像 李华
网站建设 2026/9/4 15:37:50

双臂机器人仿真搭建:ABBYuMi + ROS2 MoveIt2 Gazebo全流程

简介:本资源是面向ROS2开发者与机器人算法工程师的ABB YuMi双臂协作机器人MoveIt2完整集成方案,聚焦双臂运动规划、碰撞避障与Gazebo仿真验证等核心需求。压缩包共64个文件,含12个xacro宏定义文件(构建模块化URDF模型)…

作者头像 李华