Я не уверен, что делаю неправильно, но мне нужна помощь с этим кодом.
Я пытаюсь прочитать IP-адреса из некоторых файлов на нескольких серверах, а затем вывести их на экран и экспортировать в CSV. Пока я написал это.
$Servers = @('server1', 'server2', 'server3')
$export = @()
foreach ($server in $Servers) {
$filePath = "\\$server\d:\application\application.log"
$ipsFailed = Get-Content $filePath | Select-String "Could not resolve" | ForEach-Object {($_.tostring()).split()[-1]} | Select-Object -Unique
$export += New-Object psobject -Property @{
ipsFailed = $ipsFailed
}
$export
$exportFile| Export-Csv "ipsFailed.csv" -NoTypeInformation
}
Когда я запускаю этот код (без экспорта), я получаю это на экране, а это не то, что я хочу. Я хочу больше линейной таблицы, чем этот массив? Излишне говорить, что экспорт бесполезен.
ipsFailed
-------------
{192.168.141.161, 192.168.141.162}
{192.168.141.161, 192.168.141.162}
{192.168.141.160, 192.168.141.162}
Я знаю, что я на правильном пути, потому что выполнение команды ниже возвращает то, что я хочу, хотя это только для 1 сервера, но как мне передать это в хеш-таблицу для работы на нескольких серверах, не испортив вывод? Помощь.
PS C:\> Get-Content $filePath | Select-String "Could not resolve" | ForEach-Object {($_.tostring()).split()[-1]} | Select-Object -Unique
192.168.141.160
192.168.141.162