使用WMI创建活动目录dns区域

时间:2013-10-29 16:04:06

标签: c# dns wmi

我正在使用以下代码创建DNS区域:

ManagementClass zoneObj = new ManagementClass(session, new ManagementPath("MicrosoftDNS_Zone"), null);
ManagementBaseObject inParams = zoneObj.GetMethodParameters("CreateZone");
inParams["ZoneName"] = "thedomain.com";
inParams["ZoneType"] = 0;
ManagementBaseObject outParams = zoneObj.InvokeMethod("CreateZone", inParams, null);

这会创建区域,但会使用“标准主要”类型创建区域。我需要使用“Active Directory - Integrated Primary”类型创建它。从我的所有研究中,区域类型“0”应该这样做。任何人都可以告诉我为什么它不会将区域创建为活动目录区域?

1 个答案:

答案 0 :(得分:1)

我明白了。其他任何具有相同问题的人,您必须添加DsIntegrated参数以告知它使用Active Directory。这是最终的代码:

ManagementClass zoneObj = new ManagementClass(session, new ManagementPath("MicrosoftDNS_Zone"), null);
ManagementBaseObject inParams = zoneObj.GetMethodParameters("CreateZone");
inParams["ZoneName"] = "thedomain.com";
inParams["ZoneType"] = 0;
inParams["DsIntegrated"] = true; //--- this is what needed to be added
ManagementBaseObject outParams = zoneObj.InvokeMethod("CreateZone", inParams, null);

DsIntegrated 指示区域数据是存储在Active Directory中还是存储在文件中。如果为TRUE,则数据存储在Active Directory中;如果为FALSE,则数据存储在文件中。