2

我为 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>

在此处输入图像描述

我也在 WMI 上设置了权限 在此处输入图像描述

即使我检查了我的 RPC,它也可以正常工作

在此处输入图像描述

我还检查了在 DNS 中注册此连接的地址

在此处输入图像描述

Microsoft 论坛上,您可能会看到相同的问题而没有结果。

4

0 回答 0