$net = Get-WmiObject -Class Win32_NetworkAdapterConfiguration -Filter IPEnabled=$true -ComputerName . |
Select-Object -Property [a-z]* -ExcludeProperty IPX*,WINS* |
Where-Object {$_.DNSServerSearchOrder -like "10.*"}
$num = $net.DNSServerSearchOrder
$num.Length
for ($i=0; $i -lt $num.Length; $i++) {
if(Test-Connection $num[$i] -Count 1 -ErrorAction silentlycontinue) {
} else {
$net.SetDNSServerSearchOrder[$i]"<correct IP>"
}
}
Я не уверен, что приведенный выше код выводит меня на путь записи или нет.Я пытаюсь создать код для примерно 13000+ серверов, где нам нужно проверить, является ли DNS, настроенный на сервере, правильным или нет.
Для этого я взял тестовый сервер, на котором я пытаюсьдобавьте код, который сначала перейдет на сетевые адаптеры, которые включены, а затем проверит, настроен DNS или нет.В цикле for
я выполняю итерацию до длины массива DNS.Внутри для цикла я выровнял, если тест ping записей DNS.Если DNS-эхо-запрос не требуется, необходимо удалить все DNS и установить только вторичный DNS, так как основной работает нормально.Есть предложения?