Скрипт для замены DNS сервера на удаленном хосте

Windows_PowerShell_icon

Как-то возникла перенести в другую подсеть контроллер домена, а значит — изменить ему IP адрес.

Ситуацию немного осложняло то, что он был DNS сервером. И, если на клиентских ПК изменение DNS сервера сводилось к перенастройке пула на DHCP, то на рядовых серверах, которых около 200, изменение настроек представляло некоторую сложность. Но «все уже придумано до нас» и не у меня первого возникла такая проблема -

$computer = get-content HostNames.csv
$NICs = Get-WMIObject Win32_NetworkAdapterConfiguration -computername $computer |where{$_.IPEnabled -eq "TRUE"}
Foreach($NIC in $NICs) {
$DNSServers = "198.102.234.125","198.102.234.126"
$NIC.SetDNSServerSearchOrder($DNSServers)
$NIC.SetDynamicDNSRegistration("TRUE")
}

В файлике HostNames.csv задаем список наших серверов и — вперед :)!