如何在将数组转换为HTML时自动更改单元格属性

时间:2016-04-06 13:49:57

标签: html arrays powershell

我正在使用此PowerShell脚本将一些数据传输到HTML文件。我需要自动添加另一个行号(LP)并根据值更改单元格的颜色(SUM / GB)。如果小于20 -do什么都没有,当超过20-少于25-黄色时,超过25-red。

我的剧本:

$a = '<style>'
$a = $a + 'BODY{background-color:peachpuff;}'
$a = $a + 'TABLE{border-width: 1px;border-style: solid;border-color: black;border-collapse: collapse;}'
$a = $a + 'TH{border-width: 1px;padding: 0px;border-style: solid;border-color: black;background-color:thistle}'
$a = $a + 'TD{border-width: 1px;padding: 0px;border-style: solid;border-color: black;background-color:palegoldenrod}'
$a = $a + '</style>'

[int]$c=0
[int]$d=20
[int]$e=25
$computers | Sort-Object UserSurname |  Where-Object {($PSItem.Username -ne '' -and $PSItem.UserSurName -ne '')}| Select-Object -Property @{n='LP';e=$PSItem.index}},`
                                         @{n='Surname';e=$PSItem.UserSurname}},`
                                         @{n='Name';e={$PSItem.UserName}},`
                                         @{n='Desktop/GB';e={'{0:N2}' -f $PSItem.HDDUsageDesktop/1GB)}},`
                                         @{n='Documents/GB';e={'{0:N2}' -f($PSItem.HDDUsageDocuments/1GB)}},`
                                         @{n='Pictures/GB';e={'{0:N2}' -f($PSItem.HDDUsagePictures/1GB)}},`
                                         @{n='Video/GB';e={'{0:N2}' -f($PSItem.HDDUsageVideos/1GB)}} ,`
                                         @{n='Sum/GB';e={'{0:N2}' -f($PSItem.HDDUsage/1GB)}},`
                                         @{n='Size HDD/GB';e={$PSItem.HDDSize}},`
                                         @{n='Free space/GB';e={$PSItem.FreeSpace}},`
                                         @{n='Fre space/%';e={$PSItem.PercentOfTheSpaceUsage}},`
                                         @{n='Last scan date';e={$PSItem.LastScanDate}},` 
                                         @{n='Adsress IP';e={$PSItem.ipv4}} |
                                         ForEach-Object {if(([convert]::ToInt16($PSItem.HDDUsage)-ge $d) -and ([convert]::ToInt16($PSItem.HDDUsage)-lt $e) ){$PSItem -replace '<Tr>','<tr bgcolor=green>'}elseif([convert]::ToInt16($PSItem.HDDUsage) -ge $e ){$_ -replace '<tr>','<tr bgcolor=red>'}else{$_}} |
                                         ConvertTo-HTML -body '<H2>HDD Usage</H2>' -head $a | 
                                         Out-File c:\users\adminrka\desktop\report.html

输出: enter image description here

0 个答案:

没有答案