支持所有版本
把結(jié)果變成復(fù)雜的HTML報(bào)告,一個(gè)簡(jiǎn)單的方法是定義三個(gè)腳本塊:一個(gè)用作HTML的開頭文檔,一個(gè)用作它的結(jié)尾,還有一個(gè)是存放動(dòng)態(tài)對(duì)象的表格
接著,把這些腳本塊傳入到ForEach-Object,分別對(duì)應(yīng)腳本的開始?jí)K、中間要處理的動(dòng)態(tài)列表塊和結(jié)束代碼塊。
下面有個(gè)簡(jiǎn)單的例子闡述如何用它創(chuàng)造一個(gè)服務(wù)報(bào)告:
復(fù)制代碼 代碼如下:
$path = "$env:temp\report.hta"
$beginning = {
@'
html>
head>
title>Report/title>
STYLE type="text/css">
h1 {font-family:SegoeUI, sans-serif; font-size:20}
th {font-family:SegoeUI, sans-serif; font-size:15}
td {font-family:Consolas, sans-serif; font-size:12}
/STYLE>
/head>
image src="https://www.jb51.net/yourlogo.gif" />
h1>System Report/h1>
table>
tr>th>Status/th>th>Name/th>/tr>
'@
}
$process = {
$status = $_.Status
$name = $_.DisplayName
if ($status -eq 'Running')
{
'tr>'
'td bgcolor="#00FF00">{0}/td>' -f $status
'td bgcolor="#00FF00">{0}/td>' -f $name
'/tr>'
}
else
{
'tr>'
'td bgcolor="#FF0000">{0}/td>' -f $status
'td bgcolor="#FF0000">{0}/td>' -f $name
'/tr>'
}
}
$end = {
@'
/table>
/html>
/body>
'@
}
Get-Service |
ForEach-Object -Begin $beginning -Process $process -End $end |
Out-File -FilePath $path -Encoding utf8
Invoke-Item -Path $path