如何使用 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

输出


相关文章