我为 windows 应用程序提供了此代码,并能够在 windows server 2019 上添加 DNS 区域。
string site = "domain.com";
ConnectionOptions co = new ConnectionOptions();
ManagementScope _scope =new ManagementScope(String.Format(@"\\{0}\root\MicrosoftDNS", System.Net.Dns.GetHostName()), co);
_scope.Connect();
ManagementObject mc = new ManagementClass(_scope, new ManagementPath("MicrosoftDNS_Zone"), null);
mc.Get();
ManagementBaseObject parameters = mc.GetMethodParameters("CreateZone");
parameters["ZoneName"] = site;
parameters["ZoneType"] = (UInt32) DNSServer.NewZoneType.Primary;
parameters["DsIntegrated"] = 0; //false
ManagementBaseObject createdEntry = mc.InvokeMethod("CreateZone", parameters, null);
当我尝试在 Web 应用程序(asp.net)上使用当前代码时,它不起作用:
System.Management.ManagementException:一般故障
当我更改@"\\{0}\Root\MicrosoftDNS"
为@"\\{0}\root\cimv2"
出现此错误时:
System.Management.ManagementException:未找到
在我的物理路径上,提供的任何许可:
即使我将 Windows 身份验证设置为:
<security>
<authentication>
<anonymousAuthentication enabled="false"/>
<windowsAuthentication enabled="true"/>
</authentication>
</security>
即使我检查了我的 RPC,它也可以正常工作
我还检查了在 DNS 中注册此连接的地址
在Microsoft 论坛上,您可能会看到相同的问题而没有结果。