PowerShell 技能连载 - 单元测试与 Pester 进阶

适用于 PowerShell 5.1 及以上版本,需要 Pester 模块

单元测试不是可选项,而是生产级脚本的必需品——尤其是被多人调用、影响关键业务逻辑的函数。Pester 是 PowerShell 生态中事实上的测试框架,提供 Describe/Context/It 的 BDD 风格语法、Mock 能力、代码覆盖率统计。从简单的函数验证到复杂的模块测试,Pester 都能胜任。

本文将讲解 Pester 的高级用法,包括 Mock、参数过滤、代码覆盖率,以及测试驱动的开发实践。

阅读更多

PowerShell 技能连载 - 模板引擎与代码生成

适用于 PowerShell 5.1 及以上版本

代码生成是提高效率的利器——从配置文件模板、项目脚手架、API 客户端,到重复性的 CRUD 代码,都可以用模板引擎自动生成。PowerShell 的字符串插值和 Here-String 天然适合模板渲染,结合哈希表的对象展开能力,可以构建灵活的模板引擎。无论是生成批量配置文件、搭建项目骨架,还是生成重复性代码,模板引擎都能大幅减少手工劳动。

本文将讲解 PowerShell 中的模板引擎技术和代码生成实践。

阅读更多

PowerShell 技能连载 - Microsoft Graph API 高级操作

适用于 PowerShell 5.1 及以上版本,需要 Microsoft Graph PowerShell SDK 或 Azure AD 租户

Microsoft Graph API 是微软云服务的统一入口——Azure AD(Entra ID)用户管理、Teams 消息、SharePoint 文件、Outlook 邮件、OneDrive,几乎所有 Microsoft 365 服务都通过 Graph API 暴露。Microsoft Graph PowerShell SDK 封装了这些 API,让运维人员可以用 PowerShell 管理整个 Microsoft 365 生态。

本文将讲解 Microsoft Graph PowerShell SDK 的高级用法和实用的管理场景。

阅读更多

PowerShell 技能连载 - WSL 集成操作

适用于 PowerShell 5.1 及以上版本(Windows),需要安装 WSL

Windows Subsystem for Linux (WSL) 让 Windows 和 Linux 无缝协作——在 Windows 上运行 Linux 工具链,同时享受 Windows 的图形界面和生态。PowerShell 可以通过 wsl 命令与 WSL 交互,调用 Linux 命令、管理 WSL 发行版、在两个环境之间传递数据。这种能力让运维人员可以在一个终端中同时使用 PowerShell 和 Bash 的优势。

本文将讲解 PowerShell 与 WSL 的集成操作技巧。

阅读更多

PowerShell 技能连载 - Desired State Configuration 实战

适用于 PowerShell 5.1 及以上版本(Windows),DSC 需要 Windows 管理框架

Desired State Configuration(DSC)是 PowerShell 的声明式配置管理框架——你定义系统”应该是什么状态”,DSC 负责将系统调整到目标状态。与命令式脚本(”执行这些步骤”)不同,DSC 声明期望结果(”安装这些角色、创建这些文件、启动这些服务”),引擎自动判断需要做什么。这使得配置管理具有幂等性和可审计性。

本文将讲解 DSC 的核心概念、配置编写,以及实用的服务器配置场景。

阅读更多

PowerShell 技能连载 - REST API 设计与实现

适用于 PowerShell 7.0 及以上版本

PowerShell 不仅能调用 API,还能创建 API。PolarisPode 等模块让 PowerShell 可以快速搭建 Web 服务器,处理 HTTP 请求。虽然不建议用 PowerShell 替代专业的 Web 框架,但在内网工具、运维自动化接口、轻量级中间服务等场景中,PowerShell API 服务器非常实用——快速实现一个健康检查接口、暴露系统信息给监控平台、提供配置查询 API。

本文将讲解如何使用 PowerShell 构建轻量级 REST API 服务。

阅读更多

PowerShell 技能连载 - 进程管理进阶

适用于 PowerShell 5.1 及以上版本(Windows)

进程管理是系统运维的基本功——排查 CPU 飙高、清理僵尸进程、监控关键服务、控制进程资源占用。虽然任务管理器能做基本的进程管理,但 PowerShell 可以实现更精细的控制:批量操作、历史趋势分析、自动告警、进程树追踪。掌握进程管理的高级技巧,是高效排查系统问题的关键。

本文将讲解进程的查询、监控、控制,以及自动化的进程管理方案。

阅读更多

PowerShell 技能连载 - 加密与哈希

适用于 PowerShell 5.1 及以上版本

在运维脚本中,加密和哈希操作无处不在——验证文件完整性、保护敏感配置、安全传输数据、存储密码哈希。.NET 的 System.Security.Cryptography 命名空间提供了丰富的加密算法,PowerShell 可以直接调用这些类实现各种加密操作。理解哈希(不可逆)和加密(可逆)的区别,以及对称加密和非对称加密的适用场景,是编写安全脚本的基础。

本文将讲解 PowerShell 中的加密与哈希操作,以及实用的安全工具。

阅读更多

PowerShell 技能连载 - CSV 高级处理

适用于 PowerShell 5.1 及以上版本

CSV(逗号分隔值)是运维中最常见的数据交换格式——导出用户清单、导入配置数据、处理监控报表、批量操作清单。虽然 PowerShell 的 Import-CsvExport-Csv 命令简单易用,但面对大数据量、复杂转换、编码问题、多文件合并等场景时,需要掌握更多技巧。

本文将讲解 CSV 处理的高级技巧和实用场景。

阅读更多

PowerShell 技能连载 - 压缩与归档操作

适用于 PowerShell 5.1 及以上版本

压缩和归档是运维中的高频操作——日志归档、配置备份、发布包分发、数据迁移。PowerShell 5.0 引入了 Compress-ArchiveExpand-Archive 命令,让压缩操作无需依赖第三方工具。对于更高级的需求(如加密压缩、分卷压缩、tar.gz),可以通过 .NET 类实现。

本文将讲解 PowerShell 中的压缩与归档操作,涵盖日常备份和高级场景。

阅读更多
PowerShell 技术 QQ 群