Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Операционные системы » Microsoft Windows » Сценарии для Windows

Модерирует : KLASS, IFkO

 Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

Открыть новую тему     Написать ответ в эту тему

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
Открыть новую тему     Написать ответ в эту тему

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Операционные системы » Microsoft Windows » Сценарии для Windows


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru