Пользовательский цикл Foreach nslookup экспорт в CSV
Я новичок в сценариях PowerShell. Я пытаюсь создать скрипт, который разрешает список DNS-имен по их IP-адресам и выводит их в виде файла CSV. Когда сервер неразрешим, он должен быть выведен в отдельный файл.
Вот мой код:
$location
$location = Read-Host "CSV Path: "
$Names = Import-Csv -Path $location
foreach($n in $Names)
{
try
{
$output = $n.NAME
$variable1 = [system.net.dns]::resolve($output) | Select
HostName,AddressList
$variable1
$IP = $variable1.AddressList | Select-Object IPAddressToString
$IPN = $IP.IPAddressToString
$csv+=New-Object psobject -Property @{IPAddresse= $IPN;Name=
$output} |
Export-Csv \\filepath\Working.csv -NoTypeInformation
}
catch
{
Write-host "$output is unreachable."
Write-Output "$output" | Export-Csv \\Filepath\Unreachable.csv -
Append -Encoding ASCII
}
}
редактировать: код работал довольно хорошо, но теперь он говорит, что есть ошибка с разделителем при импорте, но я не знаю, почему это происходит внезапно, поскольку работающий код не получил никакого редактирования и внезапно больше не работает
1 ответ
Вот упрощенная / исправленная версия вашего кода:
$location = Read-Host "CSV Path: "
$Names = Import-Csv -Path $location
foreach($n in $Names)
{
try {
$Computer = [system.net.dns]::resolve($n.NAME) | Select HostName,AddressList
$IP = ($Computer.AddressList).IPAddressToString
New-Object PSObject -Property @{IPAddress=$IP; Name=$Computer.HostName} | Export-Csv \\filepath\Working.csv -NoTypeInformation -Append
} catch {
Write-Host "$($n.NAME) is unreachable."
Write-Output $n | Export-Csv \\Filepath\Unreachable.csv -Append -Encoding ASCII
}
}