PowerShell ile Bulk olarak Spesifik DNS Kayıtlarını Silmek

Merhabalar,

Aging ve Scavenging kullanmadigimiz zamanlarda –ki biz kullanmanizi tavsiye ediyoruz ve bu konuyu bir sonraki blogpost ile detayli olarak incelemeyi planliyorum- Windows Server 2008 R2 serverlarda belirli kayitlari silmek için kullanilmasi kolay birkaç PowerShell komutunu sizinle paylasmak istedim.

Asagidaki komut ile “Kayit_Adi” kismindaki alani silmek istedigimiz kayit adi ile degistirirsek bize Reverse lookup zone’da bulunan yazdigimiz kayit adi ile ayni olan butun NS kayitlarini listeliyor;

gwmi -Namespace root\MicrosoftDNS -Class MicrosoftDNS_NSType | ?{$_.recorddata -eq "Kayit_Adi" -and $_.ContainerName -like "*arpa*" } | %{$_.recorddata}

Asagidaki komut ile ise yukarida listelenen butun NS kayitlarini silebiliyoruz;

gwmi -Namespace root\MicrosoftDNS -Class MicrosoftDNS_NSType | ?{$_.recorddata -eq " Kayit_Adi " -and $_.ContainerName -like "*arpa*" } | Remove-WmiObject

Asagidaki komut ile ise yine “Kayit_Adi” kismina yazarak bütün zonelardaki ( Reverse ve Forward look zone farketmeksizin ) kayit adi ile ayni olan NS kayitlarini listeliyor;

gwmi -Namespace root\MicrosoftDNS -Class MicrosoftDNS_NSType | ?{$_.recorddata -eq " Kayit_Adi " } | %{$_.recorddata}

Bu komut yukaridaki komut ile listelenen yukaridaki bütün kayitlari siliyor;

gwmi -Namespace root\MicrosoftDNS -Class MicrosoftDNS_NSType | ?{$_.recorddata -eq " Kayit_Adi " } | Remove-WmiObject

Eger diger cesit kayitlari da silmek isterseniz MicrosoftDNS_AType, MicrosoftDNS_AAAAType, MicrosoftDNS_CNAMEType ve bunun gibi degerleri de kullanabilirsiniz. Detayli liste için asagidaki DNS VMI Classlarini inceleyebilirsiniz;

https://msdn.microsoft.com/en-us/library/windows/desktop/ms682123(v=VS.85).aspx

Kutlay ASLAN