Вы здесь

Управление зонами на DNS сервере Microsoft Windows 2012 при помощи скриптов PowerShell


Здравствуйте. Возникла задача смигрировать днс серверы. Смигрировать нужно было вторичный и первичный серверы. Ниже приведены примеры скриптов 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
        }
    }

 

0 0

Поделитесь статьей с друзьями в соц. сетях, возможно, она будет им полезна.


Если вам помогла статья, вы можете >>отблагодарить автора<<