Я SQL DBA, n00b в Powershell, поставлена задача системного администратора пошлин на данный моментPowershell Get_EventLog для нескольких серверов
Мне нужно запросить журналы ошибок через мои серверы на наличие ошибок и предупреждений.
Используя свой собственный Google-фу и помощь this нить я был в состоянии получить эту работу:
$computers = Get-Content "C:\Servers\ServerList_Short.txt";
# QUERY COMPUTER SYSTEM EVENT LOG
foreach($computer in $computers)
{
Get-EventLog -ComputerName $computer -LogName System -EntryType "Error","Warning" -After (Get-Date).Adddays(-7) `
| Select-Object -Property machineName, EntryType, EventID, TimeGenerated, Message `
| Format-Table -Property MachineName, TimeGenerated, EntryType, Source, Message -AutoSize ;
}
Что я отсутствующий в данный момент, как ловушка для сервера в моем .txt файл, вне форума, игнорировать его и перейти к следующему. После этого, я буду работать, чтобы свалить все это на SQL таблицы, results.txt и т.д.
Спасибо за любую помощь :)]
Kevin3NF
спасибо! У меня есть 3 списка серверов для тестирования, один не существует. Получил это после хороших результатов: Test-Connection: не удалось проверить аргумент в параметре «Имя_компьютера». Аргумент пустой или пустой. Поставьте аргумент, который не является нулевым или пустым, а затем снова попробуйте команду . – Kevin3NF
Ошибка означает, что у вас есть пустая строка в конце вашего файла, вы можете ее преодолеть, отредактировав nesting nad, поставив 'test-connection' внутри' try/catch' или просто убедитесь, что ваш файл не имеет пустые строки в конце, либо на front-end, либо путем выполнения '$ computers = $ computers | Where-object {$ _} ', который будет elminate нулевые значения из вашего массива –
Perfect ... должен был иметь CR; LF ... удалил это, побежал против моего полного списка серверов, и это сработало ... спасибо !!! – Kevin3NF