Сценарий PowerShell для удаления существующих записей DNS и установки новой записи для альтернативного предпочтительного DNS на карте NIC - PullRequest
0 голосов
/ 30 декабря 2018
$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, так как основной работает нормально.Есть предложения?

1 Ответ

0 голосов
/ 30 декабря 2018

В случае сомнений прочитайте документацию .SetDNSServerSearchOrder() это метод, а не свойство.Вы вызываете его с массивом IP-адресов DNS-сервера, который вы хотите настроить.

$newNameserver = '8.8.4.4'
Get-WmiObject -Class Win32_NetworkAdapterConfiguration -Filter 'IPEnabled=True' |
    ForEach-Object {
        $dnsServers = $_.DNSServerSearchOrder[0], $newNameserver
        $_.SetDNSServerSearchOrder($dnsServers)
    }

Настройте фильтр (и список DNS-серверов) в соответствии с вашими требованиями.

Проверка, уже ли настроенIP-адреса отвечать на пинг бессмысленно.Либо они являются правильными серверами имен, тогда адреса не должны изменяться, даже если они (временно) недоступны, или они не являются правильными серверами имен, тогда вам все равно нужно определить правильные.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...