news 2026/9/11 13:54:22

PowerShell 实战教程:从第一条命令到日常自动化的完整指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
PowerShell 实战教程:从第一条命令到日常自动化的完整指南

PowerShell 实战教程:从第一条命令到日常自动化的完整指南

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

如果你想在 Windows、Linux 和 macOS 上用同一套脚本环境搞定日常自动化,PowerShell 是目前最省心的选择。这是一份面向新手的 PowerShell 教程:PowerShell 是微软开发并开源的跨平台命令行工具,也是 PowerShell 脚本语言的官方实现仓库,在三大平台上都能提供一致且高效的体验。全文按"先跑起来,再慢慢深入"的顺序展开:先认识界面,执行第一批命令,学会处理报错,然后创建你的第一个 .ps1 脚本,接着看命令预测器、跨平台实践和模块安装,最后导览源码目录、规划学习路径。想读源码的话,可以直接git clone https://gitcode.com/GitHub_Trending/po/PowerShell到本地。

上图是 PowerShell 的官方形象。它没有听起来那么"企业级",装好就能用。

第一次启动:认识提示符和这个极简界面

装好以后,在终端输入pwsh就能进入交互环境。你会看到类似PS C:\>这样的提示符——PS是 PowerShell 的固定前缀,冒号后面跟着你当前所在的目录路径。

整个界面就两样东西:提示符和光标。没有菜单栏,没有按钮,你直接在这里敲命令、按回车,结果立刻返回。第一次用不用紧张,把它当成一个"随叫随答"的助手就行。

查版本、看服务:执行你的第一批 PowerShell 命令

上来先做两件小事,熟悉"输入命令 → 看结果"的节奏:

  • 输入$PSVersionTable,回车,你会看到一张表格:PSVersionPSEditionOSPlatform等行依次列出,当前 PowerShell 的版本信息一目了然。
  • 输入Get-Service,系统会列出机器上所有服务的名称、状态和启动类型,这是管理员排查问题时的第一手材料。

还有一个值得试的命令是Get-ExperimentalFeature:回车后系统以表格形式列出所有实验性功能的状态和描述,想提前尝鲜哪个新特性,先看这张表再决定。

命令打错了别慌:看懂 PowerShell 的纠错提示

新手最常见的情况是:命令拼错、记岔了名字。这时 PowerShell 不会只丢给你一句"找不到命令"就完事——它的反馈机制会自动识别可能的正确命令,并给出建议。比如你敲了get-servic,它很可能直接提示你是不是想执行Get-Service

这个"纠错建议"看似小事,实际能省不少时间:照着提示修正,比翻文档快得多,报错信息本身就是一份学习材料。

如何快速创建你的第一个 .ps1 脚本文件

命令一条条敲很爽,但重复的工作流更适合写成脚本。创建脚本文件不用打开记事本,一条New-Item就够了:在当前目录执行New-Item -Path ./first.ps1 -ItemType File,回车,.ps1脚本文件就建好了。

打开first.ps1,把之前手动敲过的几条命令贴进去,以后执行pwsh ./first.ps1就能一键跑完整个流程。这就是从"敲命令"迈向"写 PowerShell 脚本"的第一步,也是日常自动化里最常用的姿势。

命令预测器:输入一半,就能快速选中上次用过的命令

⚡ 用熟之后你会发现 PowerShell 还有个效率利器:命令预测器。当你输入部分命令后,它会在提示符旁边展示相关的命令历史——比如你敲过很多遍Get-Process,输入Get-P后预测列表里它就会浮出来,方向键一按即可选中。

它和 Tab 补全是两种体验:补全帮你找"系统里有什么",预测器帮你找"我刚才用什么"。两个都用上,打字量能砍掉一大截。

在 Linux 上执行 PowerShell:跨平台体验有多一致 🚀

很多人以为 PowerShell 只属于 Windows,实际上它在 Linux 上一样能打。看这张真实截图:在 Ubuntu 终端里,Import-Module加载模块、执行自定义 cmdlet、uname -a查看系统信息、$PSVersionTable查看版本——和 Windows 上完全是同一套命令、同一种输出风格,只是Platform一项显示为 Unix。

这意味着你在 Windows 上写好的 PowerShell 脚本,换个平台大概率能直接跑。跨平台不是口号,是日常。

最快安装 PowerShell 模块的方法:交给 NuGet 包管理器

内置命令不够用的部分靠模块补齐。安装模块最快的方式是走 NuGet 包管理器:在包管理器窗口里搜你要的包(比如System.Management.Automation),选版本、点安装,引用和依赖就配置好了。

除了包管理器界面,日常更常用的是直接在终端执行Find-ModuleInstall-Module来查找、安装、更新模块;装完用Import-Module加载,扩展功能即刻生效。

想更进一步,自己开发一个 cmdlet 模块?官方在 docs/cmdlet-example/ 里放了完整示例,流程从新建一个类库项目开始:

接着照着示例把 cmdlet 类写出来,声明参数、重写ProcessRecord,编译出的 dll 就能被Import-Module加载使用:

项目导览:核心模块与源码都在哪些目录

把仓库拉下来之后,源码主要集中在 src/ 下。挑几个和日常使用关系最密切的:

  • 系统管理相关的命令(进程、服务、软件包等),实现在 src/Microsoft.PowerShell.Commands.Management/;
  • 诊断工具类命令(性能计数器、事件日志等),在 src/Microsoft.PowerShell.Commands.Diagnostics/;
  • 安全功能(证书、签名、执行策略),在 src/Microsoft.PowerShell.Security/。

遇到"这条命令底层到底怎么实现"的好奇心时,顺着目录名找过去就能定位到对应源码。

学习路径:文档、测试用例与构建工具

  • 官方文档入口在 docs/:里面有构建指南(docs/building/)、cmdlet 开发示例(docs/cmdlet-example/)和社区流程说明,遇到问题先来这里翻。
  • test/ 目录是隐藏宝藏:几百个 Pester 测试用例展示了各命令的标准用法和边界情况,读测试是学 PowerShell 命令最快的路径之一。
  • tools/ 放着构建、打包和发布用的工具脚本,想参与构建或了解发版流程时从这里入手。

顺手记三个最常用的速查:$PSVersionTable看版本、Get-Service看服务、New-Item建脚本文件。

上手清单:接下来 5 件值得做的事

  1. 今天就把$PSVersionTableGet-ExperimentalFeature各敲一遍,花两分钟认下环境。
  2. New-Item建一个.ps1,把你每天重复做的两三条操作写进去,跑通它。
  3. 打开命令预测器(Set-PSReadLineOption -PredictionSource HistoryAndPlugin),强迫自己用预测代替全拼。
  4. 挑一台 Linux 或 macOS 机器装pwsh,把上一步的脚本原样搬过去跑,体会跨平台一致性。
  5. 每周抽时间读 test/ 里两三个测试文件,边读边敲,用几个月时间把 PowerShell 命令用成肌肉记忆。

关键词:PowerShell、PowerShell 教程、PowerShell 命令、PowerShell 脚本、跨平台

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

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

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

Memos 标签管理实战指南:多级标签 5 分钟上手,别再乱建了

Memos 标签管理实战指南:多级标签 5 分钟上手,别再乱建了 【免费下载链接】memos Open-source, self-hosted note-taking tool built for quick capture. Markdown-native, lightweight, and fully yours. 项目地址: https://gitcode.com/GitHub_Trend…

作者头像 李华
网站建设 2026/9/3 17:23:31

水母堵塞核电站取水口引发的系统韧性思考

一条关于核电站的新闻,往往会让读者第一时间联想到复杂的安全系统、严格的操作规程和厚重的混凝土屏障。但如果告诉你,让三台核反应堆同时停下来的,是一群水母,你是不是会产生一种“工业世界的顶级防线,竟然被生物世界…

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

Memory Graph与Memora对决:0.831背后的技术链路与复现指南

一个自研 memory graph 系统的 benchmark 结果最近被摆到了台面上:作者用自己实现的记忆图谱方案和 Memora 做同场评估,得到 0.831 vs 0.801。单看数字,领先只有 0.03,感觉不大,但这类系统的对比,真正的看点…

作者头像 李华