通过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通过线路推送到它。