3

我正在使用以下代码创建 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”的区域类型应该这样做。谁能告诉我为什么它不会将该区域创建为活动目录区域?

4

1 回答 1

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,则数据存储在文件中。

于 2013-10-29T16:18:15.757 回答