如何使用 PowerShell 生成 HTML 报告?
microsoft technologiessoftware & codingpowershell更新于 2026/2/12 18:22:17
要使用 PowerShell 生成 HTML 报告,我们可以使用 ConvertTo-HTML 命令。例如,假设我们需要获取服务以 HTML 格式报告,那么我们可以使用 ConvertTo-HTML 作为管道。
Get-Service | ConvertTo-Html | Out-File C:\Temp\Services.html ii C:\Temp\services.html
第一个命令将检索 HTML 文件中的输出,第二个命令 (ii) 是 Invoke-Item 命令的别名。
检查输出后,

它会选择该命令的所有属性。如果只选择几个属性,您可以使用 Select 命令或使用 ConvertTo-Html 命令中的 -Property 参数。这两个命令如下所示。
Get-Service | Select Name, StartType, Status | ConvertTo-Html | OutFile C:\Temp\services.html
或者,
Get-Service | ConvertTo-Html -Property Name, StartType, Status | OutFile C:\Temp\services.html
输出

您还可以使用以下参数使 HTML 输出更准确。
-Head −提供标题。
-PreContent − 用于表格描述。
-PostContent − 底部描述。
-Title − 网页标题。
示例:
Get-Service |Select -Last 5| ConvertTo-Html -Property Name, StartType, Status ` -PreContent "<h3>Services Output</h3>" ` -PostContent "<h3>Generated Date: $(Get-Date)/<h3>" ` -Title "Services Information" ` -Head "<h1><center>LocalHost Services Information</center></h1>" ` | Out-File C:\Temp\services.html ii C:\Temp\services.html
输出

如果您想让输出更时尚,可以应用如下所示的 CSS 代码。
代码
$header = @"
<style>
table, th, td {
border-style: solid;
border-collapse: collapse;
}
h3 {
color: Blue
}
<style>
"@
Get-Service |Select -Last 5| ConvertTo-Html -Property Name, StartType, Status `
-PreContent "<h3>Services Output</h3>" `
-PostContent "<h3>Generated Date: $(Get-Date)</h3>" `
-Title "Services Information" `
-Head $header `
| Out-File C:\Temp\services.html
ii C:\Temp\services.html
输出


