Сам код работает нормально, но сообщение об ошибке вызывает у меня проблемы. Целью этого кода является просмотр текстового файла, содержащего журналы обновлений. Затем они добавляются в журнал событий. После каждого обновления консоль сообщает мне, что я использовал пустой аргумент в свойстве Message.
Я пытался заключить в кавычки переменную и пытался записать ее в новую переменную. Исследование проблемы только привело к статьям о журнале событий Windows.
$source = "CustomLogs"
$eventLogname = "Application"
$logPath = ".\log.txt"
$eventID = 1000
$count = 0
if(![System.Diagnostics.EventLog]::SourceExists($source))
{
Write-Host "Source $source doesn't exist. Creating source..."
New-EventLog -LogName $eventLogname -Source $source
}
Get-Content $logPath -Tail 1 -Wait | ForEach-Object{
if($count -gt 0)
{
$params = @{
LogName = $eventLogname
Source = $source
EventId = $eventID
Message = $_
}
Write-EventLog @params
}
$count++
}
Сообщение об ошибке:
Write-EventLog: Невозможно проверить аргумент в параметре «Сообщение». Аргумент нулевой или пустой. Укажите аргумент, который не является пустым или пустым, а затем повторите команду.