Я хочу использовать powershell, чтобы предупреждать меня, когда в средстве просмотра событий на моем новом стандартном сервере Win2k12 возникает ошибка, я думал, что могу запускать скрипт каждые 10 минут, но не хочу нагружать сервер только для журнала событий проверка, вот сценарий PowerShell, который я хочу использовать:
$SystemErrors = Get-EventLog System | Where-Object { $_.EntryType -eq "Error" }
If ($SystemErrors.Length -gt 0) {
Send-MailMessage -To "zeb@company.co.nz" -From $env:COMPUTERNAME + @company.co.nz" -Subject $env:COMPUTERNAME + " System Errors" -SmtpServer "smtp.company.co.nz" -Priority High
}
С какой безопасной частотой я могу запускать этот скрипт, не нанося вреда моему серверу?
Оборудование:
Intel Xeon E5410 @ 2,33 ГГц x2
32 ГБ RAM
3 порта S-ATA, 7200 об / мин, 1 ТБ (2 RAID1)
Редактировать:
С помощью ответа Матиаса Р. Джессена я прикрепил событие к журналу приложения и системы со следующим скриптом:
Param(
[string]$LogName
)
$ComputerName = $env:COMPUTERNAME;
$To = "zeb@company.co.nz"
$From = $ComputerName + "@company.co.nz";
$Subject = $ComputerName + " " + $LogName + " Error";
$SmtpServer = "smtp.company.co.nz";
$AppErrorEvent = Get-EventLog $LogName -Newest 1 | Where-Object { $_.EntryType -eq "Error" };
If ($AppErrorEvent.Length -eq 1) {
$AppErrorEventString = $AppErrorEvent | Format-List | Out-String;
Send-MailMessage -To $To -From $From -Subject $Subject -Body $AppErrorEventString -SmtpServer $SmtpServer -Priority High;
};
Не нужно придумывать сценарий выхода из этого.
Вы можете прикреплять задачи к определенным событиям в средстве просмотра событий, в 2012 году он работает так же, как и в 2008 году: щелкните правой кнопкой мыши экземпляр определенного события в средстве просмотра и выберите «Прикрепить задачу к этому событию».
Вы также можете прикрепить задачу ко всему журналу событий.
В следующей статье рассказывается о настройке задачи электронной почты, в частности: http://blogs.technet.com/b/jhoward/archive/2010/06/16/getting-event-log-contents-by-email-on-an-event-log-trigger.aspx