首页 > 解决方案 > PowerShell 结果转 HTML 报告格式

问题描述

目前我坚持将以下 PowerShell 结果输出到 HTML 报告中。我有下面的 PowerShell 脚本来查询以获取复制结果。

Get-3parRCopy > showrcopy.txt
$a = (Get-Content showrcopy.txt -Raw) -split "(?sm)^Name\s+Target.*?`r?`n" | 
     Select-Object -Skip 1 |
     ForEach-Object { ($_ -split '\s')[0] }

foreach ($b in $a) { Get-3parRCopy -groups $b }

上面的结果如下

远程复制系统信息
状态:已开始,正常

集团信息

名称 目标状态 角色模式选项
GRP001Temp 3PARSYSTEM1 Started Primary Periodic Last-Sync 2018-11-04 00:08:09 MYT, Period 3h,over_per_alert
  LocalVV ID RemoteVV ID SyncStatus LastSyncTime
  LUN001-Temp 13304 LUN001-TempDR 16914 同步 2018-11-04 00:08:10 MYT

远程复制系统信息
状态:已开始,正常

集团信息

名称 目标状态 角色模式选项
GRP002-PHY01 3PARSYSTEM1 Started Primary Periodic Last-Sync 2018-11-04 01:17:54 MYT, Period 2h,auto_recover,over_per_alert
  LocalVV ID RemoteVV ID SyncStatus LastSyncTime
  LUN001-VVT2.12 120 LUN001-VVT2.12 210 同步 (33%) 2018-11-03 23:51:04 MYT

远程复制系统信息
状态:已开始,正常

集团信息

名称 目标状态 角色模式选项
GRP003-PHY02 3PARSYSTEM1 开始主周期 Last-Sync 2018-11-04 01:27:12 MYT,周期 1h45m,auto_recover,over_per_alert
  LocalVV ID RemoteVV ID SyncStatus LastSyncTime
  LUN002-VVT2.14 130 LUN002-VVT2.14 207 同步(49%) 2018-11-03 23:59:27 MYT

远程复制系统信息
状态:已开始,正常

集团信息

名称 目标状态 角色模式选项
GRP001-PRD-ORA 3PARSYSTEM1 已开始主周期 Last-Sync 2018-11-04 00:45:09 MYT,周期 2h,auto_recover,over_per_alert
  LocalVV ID RemoteVV ID SyncStatus LastSyncTime
  ORA-PROD-VG01.35 97 ORA-PROD-VG01.35 2451 同步 2018-11-04 00:45:54 MYT
  ORA-PROD-VG02.36 98 ORA-PROD-VG02.36 2452 同步 2018-11-04 00:46:10 MYT
  ORA-PROD-VG03.37 99 ORA-PROD-VG03.37 2453 同步 2018-11-04 00:45:48 MYT
  ORA-PROD-VG04.38 100 ORA-PROD-VG04.38 2454 同步 2018-11-04 00:45:12 MYT
  ORA-PROD-VG05.39 101 ORA-PROD-VG05.39 2455 同步 2018-11-04 00:45:12 MYT

远程复制系统信息
状态:已开始,正常

集团信息

名称 目标状态 角色模式选项
GRP001-PRD-SAP 3PARSYSTEM1 开始主要定期上次同步 2018 年 11 月 4 日 01:24:25 MYT,周期 23m,auto_recover,over_per_alert
  LocalVV ID RemoteVV ID SyncStatus LastSyncTime
  SAP-PROD-APPS.4 80 SAP-PROD-APPS.4 1474 同步 2018-11-04 01:24:28 MYT
  SAP-PROD-LOCK.19 95 SAP-PROD-LOCK.19 1490 同步 2018-11-04 01:24:25 MYT
  SAP-PROD-SAPDT1.5 81 SAP-PROD-SAPDT1.5 1475 同步 2018-11-04 01:25:16 MYT
  SAP-PROD-SAPDT2.6 82 SAP-PROD-SAPDT2.6 1476 同步 2018-11-04 01:25:05 MYT
  SAP-PROD-SAPDT3.7 83 SAP-PROD-SAPDT3.7 1477 同步 2018-11-04 01:25:07 MYT
  SAP-PROD-SAPDT4.8 84 SAP-PROD-SAPDT4.8 1478 同步 2018-11-04 01:25:41 MYT
  SAP-PROD-SAPDT5.9 85 SAP-PROD-SAPDT5.9 1479 同步 2018-11-04 01:25:35 MYT
  SAP-PROD-SAPDT6.10 86 SAP-PROD-SAPDT6.10 1480 同步 2018-11-04 01:25:56 MYT

远程复制系统信息
状态:已开始,正常

集团信息

名称 目标状态 角色模式选项
GRP002-PRD-SAP 3PARSYSTEM1 已开始主周期 Last-Sync 2018-11-04 01:24:55 MYT,周期 23m,over_per_alert
  LocalVV ID RemoteVV ID SyncStatus LastSyncTime
  SAP-PROD-VG01.10 15 SAP-PROD-VG01.10 29769 同步 2018-11-04 01:28:44 MYT

如何将上述结果以如下格式输出到 HTML 中。

所需的html输出

标签: powershell

解决方案


ConvertTo-Html cmdlet 有一个 Head 参数,允许您指定将进入 HEAD 元素的 HTML 代码。因此,您可以创建 CSS 样式标签以获得所需的格式。

可以在这里找到一篇好文章:https ://4sysops.com/archives/building-html-reports-in-powershell-with-convertto-html/


推荐阅读