powershell用convertto-html将对象转html字符串,需配合out-file保存;关键点:选数据、控列(select-object)、加样式(-head);支持-title、-precontent、-fragment等参数定制报表。
用 powershell 把查询结果转成 html 表格报表,核心是 convertto-html 这个命令。它不生成文件,只是把对象转成 html 字符串,所以必须配合 out-file 或 set-content 才能保存为 .html 文件。
关键点就三个:选好数据、控制列、加点样式
用 ConvertTo-Html 基础导出表格
直接管道传入对象,指定要显示的属性即可:
Get-Process | Select-Object Name, Id, CPU, WS | ConvertTo-Html | Out-File "ProcessReport.html"
这会生成一个带 <table> 的标准 HTML 页面,打开就能看。注意:<ul>
<li>
<code>Select-Object 决定了表格有哪些列
ConvertTo-Html 自动按第一个对象的属性建表头,后续对象缺某列就留空Format-Table 提前格式化,否则传给 ConvertTo-Html 的就不是原始对象了加标题、时间戳和页面说明
用 -Title 和 -PreContent 让报表更正式:
-
-Title控制浏览器标签页文字和<title></title>标签 -
-PreContent插入在表格前面的内容(比如二级标题、说明文字) -
-PostContent可插在表格后面,适合加备注或签名
加 CSS 样式让表格更清晰
纯 HTML 表格默认很朴素,加一段内联样式马上提升可读性:
@@######@@-
-Head参数插入区域内容,支持<style></style>、<meta>等 -
-Encoding UTF8避免中文乱码,尤其是导出含中文字段时必须加
导出多组数据或分块展示
如果想在一个页面里放多个表格(比如“运行中服务”+“停止服务”),可以分段处理再拼接:
@@######@@-
-Fragment表示只输出<table>...</table>片段,不带完整 HTML 结构 -
-As Table强制以表格形式输出(避免默认可能用列表) - 拼进
-Body后统一生成完整页面
不复杂但容易忽略细节
Get-Service | Where-Object Status -eq 'Running' | Select-Object Name, DisplayName, StartType | ConvertTo-Html -Title "运行中的服务清单" -PreContent "<h2>生成时间:$(Get-Date)</h2>" | Out-File "RunningServices.html"
$style = @"
<style>
body { font-family: 'Segoe UI', sans-serif; background-color: #f8f9fa; }
table { border-collapse: collapse; width: 100%; margin: 20px 0; }
th, td { border: 1px solid #dee2e6; padding: 8px 12px; text-align: left; }
th { background-color: #495057; color: white; }
tr:nth-child(even) { background-color: #e9ecef; }
</style>
"@
Get-VM | Select-Object Name, PowerState, NumCpu, MemoryMB |
ConvertTo-Html -Head $style -Title "虚拟机资产清单" |
Out-File "VM_Report.html" -Encoding UTF8
$running = Get-Service | Where-Object Status -eq 'Running' | Select-Object Name, DisplayName | ConvertTo-Html -Fragment -As Table $stopped = Get-Service | Where-Object Status -eq 'Stopped' | Select-Object Name, DisplayName | ConvertTo-Html -Fragment -As Table ConvertTo-Html -Body "<h3>运行中的服务</h3>$running<h3>已停止的服务</h3>$stopped" -Title "服务状态总览" | Out-File "ServiceSummary.html"
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











