$DNSRecords = Import-Csv -path C:\dns.csv #Excel dosyasını import eder. $LogFile = "c:\dnslog.txt" #Log dizininin belirtildiği kısımdır. $TimeStamp = Get-Date -Format "dd/MM/yy HH:mm:ss" #Log dosyasına tarih/saat yazmak için kullanılır. foreach ($DNSRecord in $DNSRecords) { $ZoneName = $DNSRecord.zonename #Kullanımı kolaylaştırmak için tanımlanmıştır. $DNSname= $DNSRecord.name #Kullanımı kolaylaştırmak için tanımlanmıştır. $Domainname =$DNSRecord.zonename #Kullanımı kolaylaştırmak için tanımlanmıştır. $IPaddress =$DNSRecord.ip #Kullanımı kolaylaştırmak için tanımlanmıştır. $DNSCheck = resolve-DnsName -name "$DNSname.$Domainname" -erroraction 'silentlycontinue' #Eklenecek olan dns kayıtları ortamda varmı kontrol eder. write-host "DNS Kontrol Sonucu:" $DNSCheck.Name try { if ($DNSCheck.Name -match $DNSRecord.name) { Write-Output "$TimeStamp $DNSname.$Domainname ($IPaddress) DNS kaydı mevcuttur. " | out-file -FilePath "$LogFile" -Append #DNS kaydı mevcut olan kayıtları log dosyasına yazdırır. } else { write-host "$DNSname.$Domainname DNS kaydı bulunmamaktadır. $DNSname.$Domainname DNS Kaydı ekleniyor." -ForegroundColor "Yellow" Write-Output "$TimeStamp $DNSname.$Domainname ($IPaddress) DNS kaydı Ekleniyor. " | out-file -FilePath "$LogFile" -Append #Eklenen kayıtları log dosyasına yazdırır. Add-DnsServerResourceRecordA -ZoneName $ZoneName -Name $DNSRecord.name -IPv4Address $DNSRecord.ip -CreatePtr #DNS kayıtlarını ekleyen komut } } catch { Write-host "DİKKAT: $DNSname.$Domainname DNS Kaydı eklenemedi !!! $LogFile dizinindeki log dosyasını kontrol ediniz." -ForegroundColor Red Write-Output "$TimeStamp HATA: $DNSname.$Domainname DNS Kaydı eklenemedi !!! : $_.exception.Message" | Out-File -FilePath $LogFile -Append} #Hata alan kayıtları log dosyasına yazdırır. }