C# WMI ile DNS Zone İşlemeriş
C# WMI ile Zone Silme
01
02
03
04
05
06
07
08
09
10
11
| //ManagementObjectSearcher ile Zone'ları where ile istenilen zone'u select ederiz ( Yada where bildirilmeden tüm zone'lar silinebilir).//Silme işlemi yapılacağından select ve where query sorugunuzu ve işleminizi dikkatli yapınız.ManagementObjectSearcher mosr = new ManagementObjectSearcher(@"\ROOT\MicrosoftDNS", "SELECT * FROM MicrosoftDNS_Zone WHERE ContainerName = 'sedatkartal.com'");foreach (ManagementObject contr in mosr.Get()){//Where ile bildirilen zone'u silerizcontr.Delete();}s |
C# WMI ile Zone Listeleme
01
02
03
04
05
06
07
08
09
10
11
12
| //ManagementObjectSearcher sınıfı ile dns zone 'leri select ederiz.ManagementObjectSearcher mosr = new ManagementObjectSearcher(@"\ROOT\MicrosoftDNS", "SELECT * FROM MicrosoftDNS_Zone"); foreach (ManagementObject conts in mosr.Get()){//foreach ile zone içinde dönerek containername 'leri listeleriz.listBox1.Items.Add(conts["ContainerName"].ToString());}s |
C# WMI ile DNS Zone üzerine kayıt ekleme
01
02
03
04
05
06
07
08
09
10
11
12
| //Scope ve Path verilirManagementClass dnsspace = new ManagementClass(@"\root\MicrosoftDNS", "MicrosoftDNS_ResourceRecord", null);//Metod çağrılırManagementBaseObject kayitlar = dnsspace.GetMethodParameters("CreateInstanceFromTextRepresentation");//Parametreler verilirkayitlar["DnsServerName"] = null;kayitlar["ContainerName"] = "sedatkartal.net"; //container adıkayitlar["TextRepresentation"] = "sedatkartal.net" + ". IN A " + "195.149.41.14"; //Girilecek kayıt. . IN A , . IN CNAME , IN MX 10 mail. olarak kayıt tiplerinden biri girilebilir.//Parametreler ile kayıt eklenirManagementBaseObject outObject = dnsspace.InvokeMethod("CreateInstanceFromTextRepresentation", kayitlar, null);s |
C# WMI ile DNS Zone ekleme
DNS Zone Oluşturma;
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
| ////Scope ve path verilir;ManagementClass zoneSpace = new ManagementClass(@"\ROOT\MicrosoftDNS", "MicrosoftDNS_Zone", null);//CreateZone parametresi ile metod çağrılırManagementBaseObject kayitlar = zoneSpace.GetMethodParameters("CreateZone");InvokeMethodOptions options = new InvokeMethodOptions();//Yeni zone oluşturmak için zonename ve zonetype parametreleri verilir.kayitlar["ZoneName"] = "sedatkartal.net";kayitlar["ZoneType"] = 0; //primary,secondary,forwarder,stub tipleri için int türden değeri//Aşağıdaki işlem sonrasında parametrelere göre zone ekleme işlemi tamamlanacaktır.ManagementBaseObject OutParams = zoneSpace.InvokeMethod("CreateZone", kayitlar, options);//Türkçe karakterli bir zone ekleyecekseniz IDN şeklinde yazmanız gerekmektedir.// |
Yorumlar
Yorum Gönder