ConvertTo-Html 命令将 PowerShell 对象转换为 HTML 字符串,需配合 Out-File 保存为 .html 文件才能在浏览器中打开;支持 -Property 选字段、-Title 设标题、-Fragment 输出片段、-As List 切换格式,并可通过 -Head、-PreContent、-PostContent 定制样式与结构。
在 powershell 中把数据转成 html 网页,核心是用 convertto-html 命令。它不生成网页文件,而是把对象输出转换成 html 字符串——你需要再用 out-file 保存为 .html 文件,才能用浏览器打开。
基础用法:一条命令生成可浏览的 HTML
最简操作就是把命令结果管道给 ConvertTo-Html,再写入文件:
Get-Process | ConvertTo-Html | Out-File procs.htmlGet-Service | ConvertTo-Html -Title "服务列表" | Out-File services.html- 执行后,用
Invoke-Item procs.html就能在默认浏览器中打开
控制显示内容:选字段、调格式
默认会显示对象所有属性,但多数时候只需关键列。可用 -Property 指定字段,还能加标题:
Get-Process | ConvertTo-Html -Property Name, CPU, WorkingSet -Title "进程监控" | Out-File topprocs.html- 想让表格更紧凑,加 -Fragment 只输出表格部分(不含 html/head/body),适合嵌入已有网页
- 加 -As List 改成列表格式,每项占多行,适合属性少但值较长的对象
美化与定制:加样式、前后文本
ConvertTo-Html 本身不支持 CSS,但可通过参数注入简单样式或结构:
- 用 -Head 插入自定义 <style> 标签,例如:
-Head "<style>table{border-collapse:collapse;width:100%}</style>" - 用 -PreContent 和 -PostContent 在表格前/后加说明文字或 div 包裹
- 多个对象一起转换时,PowerShell 只按第一个对象的属性建表;后续对象缺该属性就留空,多出的属性会被忽略
注意事项:编码、扩展名和打开方式
中文内容容易乱码,务必指定 UTF8 编码:
立即学习“前端免费学习笔记(深入)”;
Get-Process | ConvertTo-Html | Out-File -Encoding UTF8 report.html- 文件扩展名必须是 .html 或 .htm,且 Windows 资源管理器需显示扩展名才能正确重命名(否则可能变成 report.html.txt)
- 生成的文件双击即可用 Edge 或 Chrome 打开,无需本地服务器;但若含相对路径资源(如图片),需确保文件结构完整



















