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

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

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

KLASS (06-03-2018 00:43): Объединение тем по сценариям: Сценарии Windows
 Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

   

KapralBel



Platinum Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

#  v1.0
# =====================
# ==================== Константы - начало
# =====================
# Частота вызова скрипта
# $Interval  - частота вызова в единицах, заданных в $IntervalSelector
# $IntervalSelector - временной интервал
#    h - часы
#    n - минуты
#    d - дни (default)
#    m - месяцы
 
$iInterval=12
$strIntervalSelector='h'
$EMailTo='Administrator@Company.com'
$EmailFrom='Server@Company.Com'
$SMTPHost='SMTP.Company.Com'
$SMTPPort=25
 
# =====================
# ==================== Константы - конец
# =====================
 
 
 
$dtNow=Date
If ($strIntervalSelector -eq 'h')
  {
    $dtPrev=$dtNow.AddHours(-$iInterval)
  }
ElseIf ($strIntervalSelector -eq 'n')
  {
    $dtPrev=$dtNow.AddMinutes(-$iInterval)
  }
ElseIf ($strIntervalSelector -eq 'm')
  {
    $dtPrev=$dtNow.AddMonths(-$iInterval)
  }
Else
  {
    $dtPrev=$dtNow.AddDays(-$iInterval)
  }
$dtPrev=$dtPrev.AddMinutes(-2)
 
$objEventLogs=Get-EventLog -list
For($i=0;$i -lt $objEventLogs.Count;$i++)
{
  $objEventLog=$objEventLogs.Get($i)
  $objEventLogMessages=Get-EventLog $objEventLog.Log
  $strLog=""+$objEventLog.Log+".htm"
  $iCountOfErr=0
  For($j=0;$j -lt $objEventLogMessages.Count;$j++)
  {
    $objEventLogMessage=$objEventLogMessages[$j]
    If ($objEventLogMessage.TimeWritten -lt $dtPrev) {Break}
    If ($objEventLogMessage.get_EntryType().ToString() -eq 'Information') {continue}
    If ($objEventLogMessage.get_EntryType().ToString() -eq '0') {continue}
    $iCountOfErr=$iCountOfErr+1
    $strMsg='Ошибки и предупреждения по журналу ['+$objEventLog.LogDisplayName+'] за период ['+$dtPrev.ToString('dd/MM/yyyy, hh:mm:ss')+" .. "+$dtNow.ToString('dd/MM/yyyy, hh:mm:ss')+']'
    If ($iCountOfErr -eq 1)
      {
        '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">'>$strLog
        '<html>'>>$strLog
        '<head><title>'+$strMsg+'</title>'>>$strLog
        '</head>'>>$strLog
        '<h2 align="center">'+$strMsg+'</h2>'>>$strLog
        '<table width="100%" border="1" cellspacing="2" cellpadding="2"  align="center">'>>$strLog
        '<tr><th>№</th><th>Тип</th><th>Дата</th><th>Время</th><th>Комп</th><th>Пользователь</th><th>Сообщение</th></tr>'>>$strLog
      }
      '<tr align="left">'>>$strLog
      '<td>'+$iCountOfErr+'</td>'>>$strLog
      '<td>'+$objEventLogMessage.get_EntryType().ToString()+'</td>'>>$strLog
      '<td>'+$objEventLogMessage.TimeWritten.ToString('dd/MM/yyyy')+'</td>'>>$strLog
      '<td>'+$objEventLogMessage.TimeWritten.ToString('hh:mm:ss')+'</td>'>>$strLog
      '<td>'+$objEventLogMessage.MachineName+'&nbsp;</td>'>>$strLog
      '<td>'+$objEventLogMessage.UserName+'&nbsp;</td>'>>$strLog
      '<td>'+$objEventLogMessage.Message+'</td>'>>$strLog
      '</tr>'>>$strLog
  }
  If ($iCountOfErr -gt 0)
    {
      '</table>'>>$strLog
      '</body>'>>$strLog
      '</html>'>>$strLog
      $Attach          = new-object System.Net.Mail.Attachment($strLog)  
      $SMTPClient      = new-object System.Net.Mail.SMTPClient
      $Msg             = new-object System.Net.Mail.MailMessage
      $Msg.Attachments.add($Attach)
      $Msg.To.Add($EMailTo)
      $Msg.From        = $EMailFrom
      $Msg.Subject     = $strMsg
      $Msg.Body        = $strMsg
      $SMTPClient.Host = $SMTPHost
      $SMTPClient.Port = $SMTPPort
      $SMTPClient.Send($Msg)  
    }
}

Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 15:57 05-10-2006
   

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

Компьютерный форум Ru.Board » Операционные системы » Microsoft Windows » PowerShell
KLASS (06-03-2018 00:43): Объединение тем по сценариям: Сценарии Windows


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

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

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru