Powershell - переменные и цикл foreach
Эта тема заставила меня начать очень хорошо, но теперь мне нужна дополнительная помощь
Я пытаюсь перебрать мой файл serverlist.txt и передать результаты Get-EventLog в Out-GridView, а затем в файл.csv. У меня это работает, но я должен выбрать все записи в окне GridView, а затем нажать кнопку ОК для каждого сервера.
Итак, у меня есть идея, что я хочу создать переменную $sys вне цикла, войти, добавить результаты к этой переменной для каждого сервера, а затем выйти из цикла и передать $sys в Grid-view.
Моя путаница возникает в отношении объявления переменных, их типа, добавления и размещения в коде...
Я только сейчас изучаю PS, так что это может быть немного для вас:)
этот код работает... нужно добавить в переменную идею в нужных местах:
#Drop the existing files
Remove-Item C:\system.csv
# SERVER LIST PROPERTIES
# Get computer list to check disk space. This is just a plain text file with the servers listed out.
$computers = Get-Content "C:\ServerList.txt";
#Declare $sys here ??
# QUERY COMPUTER SYSTEM EVENT LOG
foreach($computer in $computers)
{
if(Test-Connection $computer -Quiet -Count 1)
{
Try {
# $sys =
Get-EventLog -ComputerName $computer -LogName System -EntryType "Error","Warning" -After (Get-Date).Adddays(-7) `
| Select-Object -Property machineName, EntryType, EventID, Source, TimeGenerated, Message `
| Out-GridView -PassThru | Export-Csv C:\System.csv -NoTypeInformation -Append;
}
Catch
{
Write-Verbose "Error $($error[0]) encountered when attempting to get events from $computer"
}
}
else {
Write-Verbose "Failed to connect to $computer"
}
}
# $sys | Out-GridView....etc.
Спасибо!
Kevin3NF
1 ответ
Просто чтобы закрыть это, я использовал предложения из нескольких комментариев:
$ sys = @ () (вне цикла)
$ sys + = Get-EventLog (внутри цикла)
$ sys | Export-Csv (после цикла для отправки в.csv)
Я даже написал в блоге все это, включая все различные этапы обучения, которые я прошел: http://dallasdbas.com/getting-to-know-powershell-from-an-old-dba/
Спасибо всем, что помогло. Это дало мне основу, которую я буду продолжать использовать на этих серверах по мере необходимости.
Kevin3NF