Запись Powershell в Eventlog наиболее эффективный метод - PullRequest
0 голосов
/ 31 октября 2018

Многие мои команды, которые я пишу внутри модулей powershell, сопровождаются записью в журнал событий. У меня есть отдельная утилита журналирования, которая сканирует записи типа предупреждения / ошибки, а затем отправляет мне электронное письмо.

Это хорошо, потому что я получаю много подробной информации о своих модулях. Однако мои модули выглядят немного загроможденными всей логикой eventlog.

вот пример

 $EventLogParameters = @{LogName='Application';Source='mymodule'}
 New-EventLog @EventLogParameters -ErrorVariable EventLogProblem -ErrorAction SilentlyContinue
 if ($EventLogProblem -notmatch 'source is already registered') {Write-Error $EventLogProblem}

function Some-Command {
    param(
        #some parameters here
    )

    <command one>
    if ($?) {
        Write-EventLog 'success'
    }
    else {
        Write-EventLog 'error'
    }

    <command two>
    if ($?) {
        Write-EventLog 'success'
    }
    else {
        Write-EventLog 'error'
    }
}

Как вы ведете ведение журнала событий таким образом, что заранее уведомляет, когда что-то происходит не так, но также не мешает логике кода?

...