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 sileriz contr.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 verilir ManagementClass dnsspace = new ManagementClass( @"\root\MicrosoftDNS" , "MicrosoftDNS_ResourceRecord" , null ); //Metod çağrılırManagementBaseObject kayitlar = dnsspace.GetMethodParameters("CreateInstanceFromTextRepresentation"); //Parametreler verilir kayitlar[ "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 eklenir ManagementBaseObject 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ır ManagementBaseObject 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