适用于 PowerShell 5.1 及以上版本
当你发现自己在多个脚本中复制粘贴相同的函数时,就该考虑创建模块了。模块是 PowerShell 代码复用、分发和版本管理的基本单元。一个设计良好的模块不仅方便自己使用,还可以发布到 PowerShell Gallery 供社区使用。本文将讲解从零创建一个完整模块的过程,包括模块清单、函数设计、帮助文档和发布流程。
适用于 PowerShell 5.1 及以上版本
当你发现自己在多个脚本中复制粘贴相同的函数时,就该考虑创建模块了。模块是 PowerShell 代码复用、分发和版本管理的基本单元。一个设计良好的模块不仅方便自己使用,还可以发布到 PowerShell Gallery 供社区使用。本文将讲解从零创建一个完整模块的过程,包括模块清单、函数设计、帮助文档和发布流程。
适用于 PowerShell 5.1 及以上版本,建议安装 Pester 5.x
基础设施即代码(IaC)和自动化脚本的普及使得”测试”不再只是开发者的专利。Pester 是 PowerShell 社区最流行的测试框架,它使用 BDD(行为驱动开发)风格的语法编写测试——描述期望行为、执行代码、验证结果。无论是验证函数逻辑、测试配置是否符合预期,还是构建运维合规检查,Pester 都是不可或缺的工具。
本文将讲解 Pester 的核心语法、常用模式,以及如何构建运维合规测试。
适用于 PowerShell 5.1 及以上版本,SecretManagement 模块需要 PowerShell 7
脚本中的硬编码密码是安全隐患的头号来源。无论是数据库连接字符串中的密码、API 密钥还是 SSH 私钥,都应该使用安全的存储机制。PowerShell 提供了多层凭据管理方案——从基本的 PSCredential 对象到 SecureString,再到现代化的 SecretManagement 模块,可以满足从单机脚本到企业级自动化的所有需求。
本文将讲解凭据的安全创建、存储、使用,以及 Microsoft.PowerShell.SecretManagement 模块的使用。
PowerShell 技能连载 - IIS Web 服务器管理
适用于 Windows Server 2016 及以上版本,需安装 IIS 管理工具
Internet Information Services(IIS)是 Windows 上最流行的 Web 服务器,广泛用于托管 ASP.NET 应用、静态网站和反向代理。IIS 管理器(GUI)虽然直观,但在管理多台服务器或执行批量操作时效率极低。PowerShell 的 WebAdministration 模块提供了完整的 IIS 管理能力,可以实现网站创建、应用池管理、绑定配置和性能调优的全面自动化。
本文将讲解 IIS 的 PowerShell 管理技巧,涵盖日常运维的各个场景。
适用于 PowerShell 5.1 及以上版本
正则表达式是文本处理的终极武器——从日志分析、数据提取到输入验证,几乎所有文本处理场景都离不开正则。PowerShell 基于 .NET 的正则引擎,支持完整的正则语法,包括命名捕获组、零宽断言、平衡组等高级特性。掌握正则表达式可以大幅减少文本处理代码量,将几十行的字符串操作压缩为一行模式匹配。
本文将深入讲解 PowerShell 中的正则表达式应用,包括常用模式、高级特性和性能优化。
适用于 PowerShell 5.1 及以上版本
XML 是 Windows 生态中最常见的配置格式——从 web.config、app.config 到 NuGet 的 packages.config,从 WIX 安装配置到 MSBuild 项目文件,XML 无处不在。PowerShell 对 XML 有一流的内置支持,[xml] 类型加速器可以将 XML 文档直接转换为可导航的对象图,比传统的正则表达式解析简单得多。
本文将讲解 XML 的读取、查询、修改和创建,以及常见的配置文件管理场景。
适用于 PowerShell 5.1 及以上版本
网络故障是运维工作中最常见的排障场景——“连不上数据库”、”网站打不开”、”文件共享超时”。PowerShell 内置了丰富的网络诊断命令,从基本的 ping、端口检测到 DNS 解析、路由追踪和 TCP 连接测试,可以快速定位网络问题的层级(物理层、链路层、网络层、传输层、应用层)。
本文将讲解 PowerShell 网络诊断的系统化方法,以及如何构建一键式排障脚本。
PowerShell 技能连载 - Windows Defender 安全管理
适用于 Windows 10/11 和 Windows Server 2016 及以上版本
Windows Defender(现称 Microsoft Defender for Endpoint)是 Windows 内置的端点安全解决方案,提供实时保护、漏洞扫描、攻击面减少等多层防护。对于运维人员来说,通过 PowerShell 管理 Defender 比通过 Windows 安全中心 GUI 更高效——可以批量部署策略、自动化扫描、导出安全报告,并将安全操作集成到运维自动化流程中。
本文将讲解 Defender 的配置管理、扫描自动化、威胁响应和攻击面减少(ASR)规则配置。
适用于 PowerShell 5.1 及以上版本(Windows),需安装 SqlServer 模块
数据库运维是后端团队最核心的日常任务之一——备份恢复、性能监控、索引维护、数据迁移,每项任务都需要精确操作。PowerShell 通过 SqlServer 模块(替代旧版 SQLPS)可以直接连接 SQL Server 执行查询和管理操作,将 DBA 的重复性工作自动化。
本文将讲解 SQL Server 的 PowerShell 管理技巧,包括备份恢复、性能监控、索引维护和数据迁移。
适用于 PowerShell 7.0 及以上版本
持续集成/持续部署(CI/CD)是现代 DevOps 的核心实践。PowerShell 作为 Windows 生态的首选脚本语言,天然适配 Azure DevOps、GitHub Actions、Jenkins 等 CI/CD 平台。通过编写结构化的部署脚本,可以将应用发布流程标准化、可重复、可审计。
本文将讲解如何编写适配 CI/CD 的 PowerShell 部署脚本、多环境配置管理,以及 GitHub Actions 的集成示例。