Здравствуйте. Возникла задача смигрировать днс серверы. Смигрировать нужно было вторичный и первичный серверы. Ниже приведены примеры скриптов powershell которые позволяют скопировать все зоны с первичного DNS сервера на вторичный, скопировать все зоны с первичного сервера на первичный и удалить все зоны на сервере.
Копирование зон:
#имя компьютера с первичным DNS $computer = "srvhost01" #ip адрес компьютера с первичным DNS $main_ip = "192.168.133.190" $zones = Get-DnsServerZone -computername $computer #ip адреса вторичных DNS $servers = "192.168.133.196","192.168.133.187" for ($k=0; $k -lt $zones.Length; $k++) { if ((!$zones[$k].IsAutoCreated) -and ($zones[$k].ZoneName -ne "TrustAnchors")) { $zf=$zones[$k].ZoneName +".dns" $zones[$k].ZoneName #Добавление разрешения на чтение зон на первичный DNS Set-DnsServerPrimaryZone -ComputerName $computer -Name $zones[$k].ZoneName -Notify NotifyServers -NotifyServers $servers -SecureSecondaries TransferToSecureServers -SecondaryServers $servers -PassThru #Собственно копирование Add-DnsServerSecondaryZone -name $zones[$k].ZoneName -zonefile $zf -MasterServers $main_ip } }
Копирвоание зон на первичный сервер.
$computer = "srvhost01" $main_ip = "192.168.133.190" $zones = Get-DnsServerZone -computername $computer $servers = "192.168.133.196","192.168.133.187","192.168.133.181" $serversnew = "192.168.133.196","192.168.133.187" for ($k=0; $k -lt $zones.Length; $k++) { if ((!$zones[$k].IsAutoCreated) -and ($zones[$k].ZoneName -ne "TrustAnchors")) { $zf=$zones[$k].ZoneName +".dns" $zones[$k].ZoneName Set-DnsServerPrimaryZone -ComputerName $computer -Name $zones[$k].ZoneName -Notify NotifyServers -NotifyServers $servers -SecureSecondaries TransferToSecureServers -SecondaryServers $servers -PassThru Add-DnsServerSecondaryZone -name $zones[$k].ZoneName -zonefile $zf -MasterServers $main_ip ConvertTo-DnsServerPrimaryZone -name $zones[$k].ZoneName -zonefile $zf -force Set-DnsServerPrimaryZone -Name $zones[$k].ZoneName -Notify NotifyServers -NotifyServers $serversnew -SecureSecondaries TransferToSecureServers -SecondaryServers $serversnew -PassThru } }
И удаление зон с сервера:
$zones = Get-DnsServerZone -ComputerName srvvportalnew for ($k=0; $k -lt $zones.Length; $k++) { if ((!$zones[$k].IsAutoCreated) -and ($zones[$k].ZoneName -ne "TrustAnchors")) { $zf=$zones[$k].ZoneName +".dns" $zones[$k].ZoneName Remove-DnsServerZone -name $zones[$k].ZoneName -force } }
- Войдите или зарегистрируйтесь, чтобы отправлять комментарии
Поделитесь статьей с друзьями в соц. сетях, возможно, она будет им полезна.
Если вам помогла статья, вы можете >>отблагодарить автора<<