Управление DNS-сервером с помощью кода C # - PullRequest
14 голосов
/ 28 февраля 2011

Мне нужен пример кода для создания / удаления зоны и записи A на Microsoft DNS-сервере с помощью C #

Ответы [ 2 ]

15 голосов
/ 28 февраля 2011

Вы должны использовать WMI для вызова DNSProvider.

Это для добавления записи:

 public void AddARecord(string hostName, string zone, string iPAddress, string dnsServerName)
 {
      ManagementScope scope = 
         new ManagementScope(@"\\" + dnsServerName + "\\root\\MicrosoftDNS");

      scope.Connect();

      ManagementClass cmiClass =
         new ManagementClass(scope, 
                             new ManagementPath("MicrosoftDNS_AType"),
                             null);

     ManagementBaseObject inParams = 
         wmiClass.GetMethodParameters("CreateInstanceFromPropertyData");

     inParams["DnsServerName"] = this.ServerName;
     inParams["ContainerName"] = zone;
     inParams["OwnerName"] = hostName + "." + zone;
     inParams["IPAddress"] = iPAddress;

     cmiClass.InvokeMethod("CreateInstanceFromPropertyData", inParams, null);
}

Вы можете ссылаться на ссылку WMI и расширять ее по мере необходимости, используя методы и классы. http://msdn.microsoft.com/en-us/library/ms682123(v=vs.85).aspx

2 голосов
/ 28 февраля 2011

Microsoft выставляет его как службу POX, поэтому вы можете просто передать XML по проводам, используя материал System.Net и свои учетные данные.

http://technet.microsoft.com/en-us/library/dd278634.aspx

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...