현재 도메인의 IP 주소와 도메인 자체를 보여주는 CSV 파일을 얻으려고합니다. 이 작업은 수동으로 수행하지만 1K 도메인에 가까운 테스트를 수행하고 있습니다.두 개 이상의 IP로 DNS 주소 확인
이 내 현재 코드입니다 : 나는 데 문제는 일부 도메인 1 개 이상의 IP 주소를 가지고 있고이 CSV 파일을 열 때, 나는보다 더와 도메인에 대한 System.Object[]
를 얻을 수 있다는 것입니다
$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
1 IP. 대부분이 코드를 작성하는 데 Resolve-DnsName inside Test-Connection을 사용했지만 두 번째 경우에는 IP가 1 개 이상있는 경우입니다.
감사합니다.
당신에게 정말 고마워요 !!!! 둘 다 훌륭하게 작동했습니다. 두 번째 옵션이 더 잘 작동했습니다. – IPew