我正在使用以下代码创建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”应该这样做。任何人都可以告诉我为什么它不会将区域创建为活动目录区域?
答案 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,则数据存储在文件中。