newhk
BANNED | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору $files = gci '\\server\C$\IT\Scripts\stat_it\backupIT' | Sort-Object 'lastwritetime' -Descending $reportPath = "D:\_Backup_Report\" $reportName = "BackupReport_" + (Get-Date).ToString('dd-MM-yyyy_HH-mm-ss') + ".html" $backupReport = $reportPath + $reportName $heshData = @{} function ab ($value) { if ($value -eq '1c'){ $var = 1 } elseif ($value -eq 'data'){ $var = 2 } elseif ($value -eq 'pst'){ $var = 3 } elseif ($value -eq 'system'){ $var = 4 } if ($heshData.$region[$var] -eq 'Empty'){ $heshData.$region[$var] = $time } else { for ($i=(-1); $i -lt -9; $i--){ $a1 = $heshData.$region[$var][$i] $b1 = $time[$i] if ($a1 -ge $b1){ Continue } else { $heshData.$region[$var] = $time } } } } $redColor = "#FF0000" $orangeColor = "#FFA500" $yellowColor = "#FFFF00" $limeColor = "#00FF00" $whiteColor = "#FFFFFF" foreach ($f in $files){ $fl = GC $f.FullName $str = $fl[-1].Split(' ') $result = $f.Name.Split('_') $res = $result[3].Split('.') $region = $res[0] $c1 = '1c' $data = 'data' $pst = 'pst' $system = 'system' $time = $str[0] $server = $result[1] $a1 = '' $b1 = '' if ($region -notin $heshData.Keys){ $heshData.$region = ($region,'Empty','Empty','Empty','Empty') } else { if ($result[0] -eq $c1){ ab -value $c1 } elseif ($result[0] -eq $data){ ab -value $data } elseif ($result[0] -eq $pst){ ab -value $pst } elseif ($result[0] -eq $system){ ab -value $system } } } #$heshData $titledate = (Get-Date).ToString('dd.MM.yyyy') $header = " <html> <head> <meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'> <title>Backup Filial Report</title> <STYLE TYPE='text/css'> TABLE { width: 600px; /* Ширина таблицы */ border-collapse: collapse; /* Убираем двойные линии между ячейками */ } TD, TH { padding: 3px; /* Поля вокруг содержимого таблицы */ border: 1px solid black; /* Параметры рамки */ } TH { background: #b0e0e6; /* Цвет фона */ } </style> </head> <body> <table width='100%'> <tr bgcolor='#CCCCCC'> <td colspan='7' height='25' align='center'> <font face='tahoma' color='#003399' size='4'><strong>Бэкапы в филиалах на $titledate</strong></font> </td> </tr> </table> " Add-Content $backupReport $header -Encoding UTF8 $dateActual = (Get-Date).AddDays(-1).ToString('yyyy.MM.dd') $dateAttens = (Get-Date).AddDays(-3).ToString('yyyy.MM.dd') $dateCritical = (Get-Date).AddDays(-7).ToString('yyyy.MM.dd') $tableHeader = " <table width='100%'><tbody> <tr bgcolor=#CCCCCC> <td width='15%' align='center'>Сервер</td> <td width='15%' align='center'>Бэкап 1С</td> <td width='15%' align='center'>Бэкап DATA</td> <td width='15%' align='center'>Бэкап PST</td> <td width='15%' align='center'>Бэкап Системы</td> </tr> " Add-Content $backupReport $tableHeader -Encoding UTF8 foreach ($key in $heshData.Values){ Add-Content $backupReport "<tr>" foreach ($v in $key){ if ($v -eq 'Empty'){ Add-Content $backupReport "<td width='15%' bgcolor='White' align='center'><font color='Black' size='3'>$v</font></td>" } elseif ($v -match '[A-Z]+'){ Add-Content $backupReport "<td width='15%' bgcolor='Lavender' align='center'><font color='Black' size='3'>$v</font></td>" } else { $v_string = $v.Substring(6,4) + $v.Substring(2,4) + $v.Substring(0,2) if ($v_string -le $dateCritical){ Add-Content $backupReport "<td width='15%' bgcolor='Red' align='center'><font color='White' size='3'>$v</font></td>" } elseif ($v_string -ge $dateActual){ Add-Content $backupReport "<td width='15%' bgcolor='Lime' align='center'><font color='Black' size='3'>$v</font></td>" } elseif ($v_string -le $dateAttens){ Add-Content $backupReport "<td width='15%' bgcolor='Yellow' align='center'><font color='Black' size='3'>$v</font></td>" } } } <# $s1 = $key[0] $s2 = $key[1] $s3 = $key[2] $s4 = $key[3] $s5 = $key[4] Add-Content $backupReport "<td width='15%' align='center'>$s1</td>" Add-Content $backupReport "<td width='15%' align='center'>$s2</td>" Add-Content $backupReport "<td width='15%' align='center'>$s3</td>" Add-Content $backupReport "<td width='15%' align='center'>$s4</td>" Add-Content $backupReport "<td width='15%' align='center'>$s5</td>" #> <# for ($i=0;$i -lt 5;$i++){ $v = $key[$i] if ($v -eq 'Empty'){ Add-Content $backupReport "<td width='15%' bgcolor='White' align='center'><font color='Black' size='3'>$v</font></td>" } elseif ($v -match '[A-Z]+'){ Add-Content $backupReport "<td width='15%' bgcolor='Lavender' align='center'><font color='Black' size='3'>$v</font></td>" } else { $v_string = $v.Substring(6,4) + $v.Substring(2,4) + $v.Substring(0,2) if ($v_string -le $dateCritical){ Add-Content $backupReport "<td width='15%' bgcolor='Red' align='center'><font color='White' size='3'>$v</font></td>" } elseif ($v_string -ge $dateActual){ Add-Content $backupReport "<td width='15%' bgcolor='Lime' align='center'><font color='Black' size='3'>$v</font></td>" } elseif ($v_string -le $dateAttens){ Add-Content $backupReport "<td width='15%' bgcolor='Yellow' align='center'><font color='Black' size='3'>$v</font></td>" } } } #> Add-Content $backupReport "</tr>" } Add-Content $backupReport "</table></body></html>" | Всего записей: 400 | Зарегистр. 02-02-2009 | Отправлено: 09:27 09-06-2022 | Исправлено: newhk, 10:14 09-06-2022 |
|