适用于 PowerShell 5.1 及以上版本
CSV(逗号分隔值)是运维中最常见的数据交换格式——导出用户清单、导入配置数据、处理监控报表、批量操作清单。虽然 PowerShell 的 Import-Csv 和 Export-Csv 命令简单易用,但面对大数据量、复杂转换、编码问题、多文件合并等场景时,需要掌握更多技巧。
本文将讲解 CSV 处理的高级技巧和实用场景。
适用于 PowerShell 5.1 及以上版本
CSV(逗号分隔值)是运维中最常见的数据交换格式——导出用户清单、导入配置数据、处理监控报表、批量操作清单。虽然 PowerShell 的 Import-Csv 和 Export-Csv 命令简单易用,但面对大数据量、复杂转换、编码问题、多文件合并等场景时,需要掌握更多技巧。
本文将讲解 CSV 处理的高级技巧和实用场景。
适用于 PowerShell 5.1 及以上版本
虽然 JSON 已经成为现代应用配置的主流格式,但 XML 仍然在许多场景中扮演重要角色——Windows 配置文件(.config)、NuGet 包定义(.nuspec)、SOAP Web 服务、Office 文档(.docx/.xlsx 底层是 XML)、以及大量遗留系统的数据交换格式。PowerShell 通过 [xml] 类型加速器和 .NET 的 System.Xml 命名空间,提供了强大的 XML 处理能力。
本文将讲解 XML 文档的创建、查询(XPath)、修改,以及与常见 XML 格式的交互。
适用于 PowerShell 5.1 及以上版本
运维和开发中经常需要从网页获取数据——监控服务状态页、采集系统指标、下载最新版本的工具、从内部管理平台提取报表。PowerShell 内置的 Invoke-WebRequest 可以发送 HTTP 请求并解析 HTML,结合正则表达式和 HTML 解析能力,可以高效完成大部分数据采集任务。
本文将讲解 HTTP 请求、HTML 解析、表单提交、会话管理,以及浏览器自动化技术。
适用于 PowerShell 5.1 及以上版本
运维报告是沟通技术状态的桥梁——无论是每日健康检查报告、月度容量报告还是安全审计报告,格式清晰、内容直观的 HTML 报告远比纯文本或截图有效。PowerShell 的 ConvertTo-Html 命令可以将任何对象集合转为 HTML 表格,结合自定义 CSS 样式和 Here-String 模板,可以快速生成专业级的报告。
本文将讲解 HTML 报告的生成技巧、样式定制、邮件发送,以及实用的报告模板。
PowerShell 技能连载 - YAML 与 TOML 配置处理
适用于 PowerShell 7.0 及以上版本
YAML 和 TOML 是现代配置文件的两大主流格式。YAML 以其可读性和丰富的数据类型支持,被 Kubernetes、Docker Compose、GitHub Actions 等广泛采用;TOML 则以简洁明了著称,是 Rust、Python 项目的首选配置格式。PowerShell 原生支持 JSON 和 XML,但处理 YAML 和 TOML 需要借助第三方模块。本文将讲解如何在 PowerShell 中高效处理这两种配置格式。
适用于 PowerShell 5.1 及以上版本
XML 是 Windows 生态中最常见的配置格式——从 web.config、app.config 到 NuGet 的 packages.config,从 WIX 安装配置到 MSBuild 项目文件,XML 无处不在。PowerShell 对 XML 有一流的内置支持,[xml] 类型加速器可以将 XML 文档直接转换为可导航的对象图,比传统的正则表达式解析简单得多。
本文将讲解 XML 的读取、查询、修改和创建,以及常见的配置文件管理场景。
PowerShell 技能连载 - JSON 与 YAML 配置管理
适用于 PowerShell 7.0 及以上版本
在 DevOps 和基础设施即代码的实践中,配置文件管理是核心能力。无论是应用部署、容器编排还是 CI/CD 流水线,JSON 和 YAML 格式的配置文件无处不在。PowerShell 原生支持 JSON 的读写与转换,配合 powershell-yaml 模块也能轻松处理 YAML,包括 Kubernetes 风格的多文档格式。
本文将从实际场景出发,逐步介绍如何用 PowerShell 完成 JSON 配置读取与修改、YAML 解析、Schema 验证、模板渲染以及环境配置切换。
XML作为结构化数据交换标准,在PowerShell中可通过原生命令实现高效处理。
1 | # 读取服务器配置XML |
1 | $ns = @{ns='http://schemas.vichamp.com/config'} |
1 | $result = Select-Xml -Path $configPath -XPath "//Server[@Role='Database']" |
最佳实践:
Markdown 是一种轻量级标记语言,创始人为约翰·格鲁伯(John Gruber)。它允许人们“使用易读易写的纯文本格式编写文档,然后转换成有效的XHTML(或者HTML)文档”。这种语言吸收了很多在电子邮件中已有的纯文本标记的特性。

Markdown 的基本语法较为简单,所以多家衍生出不同的扩展版本。其中由于 GitHub 网站的流行,导致 Markdown 的 GitHub 扩展版本(简称 GFM)较为流行。
以下是基本语法和各个扩展版本的语法文档原始链接:
基于 .NET 开发,只用于 Windows,功能较齐全。GFM 风格离线编辑要收费。

Sublime Text + Markdown Editing 插件,是我目前在用的,支持在浏览器中预览等功能。参见 sublime装配markdown插件 - 开源软件
Cmd Markdown 编辑阅读器 - 作业部落出品 - 在线编辑器