Skip to main content

Powershell ile DNS Server Yönetimi - Part 2

· 2 min read

Bir önceki yazımızda, Primary DNS Server üzerindeki tüm Zone yapısının Secondary DNS Server aktarmak için gereken ayarları, değişiklik yapacağımız zone isimlerini belirtmiş olduğunuz bir ".txt" dosyası içerisinden alarak DNS Server üzerinde değişiklikleri gerçekleştirdik. Dilerseniz bu işlemi ".txt" içerisinden değil Primary DNS Server üzerinde ki tüm Zone'lar için gerçekleştirmek isterseniz geliştirmiş olduğum fonksiyonu kullanabilirsiniz.

Bu sayede bir önceki yazımızda DNS Server üzerinden bulunan Zone isimlerini ".txt" çıkarmak ile uğraşmanıza gerek kalmaz. Ama unutmayalım, DNS Server üzerinde bulunan Primary Zone'ların hepsinde aksiyon alacaksınız. Bir önceki örnekte ".txt" içerisinden aldığım için belirtmiş olduğum zone isimlerine göre işlemleri gerçekleştirdik. Eğer siz DNS Server üzerinde bulunan tüm zone yapısına Secondary DNS Server adresini tanıtmak istiyorsanız tam size göre ve log dosyası yaratıyor.

Update-ZoneTransferServer -SecondaryIPAddress 1.1.1.1 -Verbose

DNS-Update4

Function Update-ZoneTransferServer { [cmdletBinding()] param( [Parameter(Mandatory=$True)] [string]$SecondaryIPAddress ) Begin { $Collection = Get-WmiObject -Namespace Root\MicrosoftDNS -Class MicrosoftDNS_Zone | Where-Object {$PsItem.ZoneType -eq "1" -and $PsItem.Name -ne "TrustAnchors"} | Select-Object -ExpandProperty Name Write-Verbose "Zone Transfer içerisine $SecondaryIPAddress Ekleniyor." } Process { foreach ($get in $Collection) { dnscmd /ZoneResetSecondaries $get /SecureList $SecondaryIPAddress | Out-Null Write-Verbose "$get adli zone icerisine ZoneTransfer olarak $SecondaryIPAddress eklendi" } } End { Write-Verbose "Basariyla tamamlanmistir." $Collection | Out-File c:\DNSList.txt Write-Verbose "Ekleme islemi yapilan zone isimleri C:\DNSList.txt olarak cikartildi." } }