通过C#代码管理DNS服务器

我需要一些示例代码来通过C#在Microsoft DNS服务器中创建/删除区域和A记录

您必须使用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

Microsoft将其公开为POX服务,因此您可以使用System.Net内容和您的用户凭据将XML通过线路推送到它。

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