Ich versuche derzeit, eine CSV-Datei zu erhalten, die die IP-Adresse von Domänen und die Domäne selbst zeigt. Ich würde das manuell tun, aber ich teste fast 1K-Domains.DNS-Adresse mit mehr als einer IP auflösen
Dies ist mein aktueller Code:
$Domains = Get-Content "X:\User\URLs.txt"
$collection = $()
foreach($Domain in $Domains)
{
Write-Host "Testing $Domain"
$status = @{ "Domain" = $Domain}
$result = [system.net.dns]::GetHostAddresses($Domain)
if($result)
{
$status.Results = "UP"
$status.IP = [system.net.dns]::GetHostAddresses($Domain).IPAddressToString
Write-Host "GOOD"
}#END If
else
{
$status.Results = "Down"
$status.IP = "N/A"
$status.DNS = if (-not(Resolve-DnsName -Name $Domain -ErrorAction SilentlyContinue))
{
Write-Output -Verbose "$Domain -- Not Resolving"
}#END inner if
else
{
"$Domain resolving"
}#END inner else
}#END else
New-Object -TypeName PSObject -Property $status -OutVariable domainStatus
$collection += $domainStatus
}#END forEach
$collection | Export-Csv -LiteralPath "X:\User\DomainList.csv" -Append -Force
Das Problem, das ich habe, ist, dass einige Bereiche mehr als 1 IP-Adresse haben, und wenn ich die CSV-Datei zu öffnen, erhalte ich ein System.Object[]
für die Domains mit mehr als 1 IP. Zum größten Teil habe ich Resolve-DnsName inside Test-Connection verwendet, um diesen Code zu erstellen, aber das Problem tritt wieder auf, wenn mehr als 1 IP vorhanden ist.
Danke!
Vielen Dank !!!! Beides hat super funktioniert, bei mir hat die zweite Option besser funktioniert! – IPew