使用WMI搜索MicrosoftDNS_AType记录会导致一般故障

时间:2018-08-28 05:44:20

标签: c# dns wmi wmi-query wmi-service

整天试图修复0x80041001错误,但仍然显示该错误。关闭防火墙,关闭UAC无效。重置WMI服务,尝试this,以管理员身份运行,仍然没有任何更改!这是我的代码:

ManagementScope mgmtScope = new ManagementScope(@"\\.\Root\MicrosoftDNS", new ConnectionOptions() {  });
ManagementObjectCollection mgmtDNSRecords = new ManagementObjectSearcher(mgmtScope, new ObjectQuery(string.Format("SELECT * FROM MicrosoftDNS_AType WHERE OwnerName = '{0}.{1}'", strHostName, strDNSZone))).Get();
// Here the error accours:
if (mgmtDNSRecords.Count > 1)

事件查看器错误:

  

Id = {00000000-0000-0000-0000-000000000000}; ClientMachine =   ARASHSERVER;用户= ARASHSERVER \ Administrator; ClientProcessId = 1004;   组件=未知;操作=启动IWbemServices :: ExecQuery-   根\ MicrosoftDNS:SELECT * FROM MicrosoftDNS_AType; ResultCode =   0x80041001;可能的原因=未知

正在运行wbemtest.exe会显示此错误:

  

DNS_ERROR_ZONE_DOES_NOT_EXIST

此问题有解决办法吗?

1 个答案:

答案 0 :(得分:0)

运行此查询:

SELECT * FROM MicrosoftDNS_Zone

导致一个列表,其中缺少一个区域,我的意思是DNS管理器中有一个区域(无记录),但未在查询结果中列出。我删除了该区域并神奇地解决了问题!