如何使用 PowerShell 生成 HTML 报告?


要使用 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

输出

更新于: 2021年9月1日

5K+ 次浏览

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告