C++ 对Windows Server 2008 R2的远程WMI调用在第一次尝试(0x800706BF)后第二次尝试时始终出错

C++ 对Windows Server 2008 R2的远程WMI调用在第一次尝试(0x800706BF)后第二次尝试时始终出错,c++,wmi,windows-server-2008-r2,C++,Wmi,Windows Server 2008 R2,我第一次从远程计算机获取WMI数据时,它工作得很好。它还适用于与我配置相同的同事:Windows Server 2008 R2虚拟机作为远程计算机的域控制器;Windows 7主机与进行调用的客户端位于不同的域中 然而,在某个时刻,代码停止了工作。代码概述:它提示输入凭据,然后连接到远程服务器,然后使用win32_operatingsystem中的WQL行Select*查询其操作系统信息,然后检索返回的操作系统对象,然后请求表示操作系统名称的对象和表示计算机上可用内存的对象,将此信息打印到控制台

我第一次从远程计算机获取WMI数据时,它工作得很好。它还适用于与我配置相同的同事:Windows Server 2008 R2虚拟机作为远程计算机的域控制器;Windows 7主机与进行调用的客户端位于不同的域中

然而,在某个时刻,代码停止了工作。代码概述:它提示输入凭据,然后连接到远程服务器,然后使用win32_operatingsystem中的WQL行Select*查询其操作系统信息,然后检索返回的操作系统对象,然后请求表示操作系统名称的对象和表示计算机上可用内存的对象,将此信息打印到控制台。它当前在第一次IEnumWbemClassObject::Next调用时出错,该调用应检索OS对象

我目前使用的代码是上面链接的示例代码的稍加修改的版本。以下是完整的.cpp,删除了一些注释掉的代码块:

定义\u WIN32\u DCOM 定义UNICODE 包括 使用名称空间std; 包括 包括 pragma commentlib,wbemuid.lib pragma commentlib,credui.lib pragma commentlib,comsuppw.lib 包括 包括 //用于清理的宏更改为退出,以更接近地模拟原始代码 定义EXITx{ret=x;goto out;} //入口点: 内部cdecl主内部argc,字符**argv { HRESULT hres; int-ret=0; //初始化COM hres=CoInitializeX0,Conit_多线程; 如果失败了 {
cout虚拟机是如何创建的?从克隆、sysprep还是从DVD?如果克隆,然后尝试从头创建一个,如使用Win2008的DVD或ISO。如果从DVD/ISO创建,则建议尝试从ISO创建Win7之类的操作系统。如果两者都已尝试过,则尝试将虚拟机移动到另一台主机。如果主机的CPU、RAM、NIC、HD等速度不够快,则可以drop初始连接并准备好下一步。希望这有意义…谢谢你的评论,Lizz。我从CD上得到它,但使用同一张CD的同事没有这个问题。我们目前正在设置一组新的VM进行测试,这可能会对情况有所帮助。已经一个月了,我仍然在使用我丑陋的补丁解决方案!Just查询了0x800706bf并获得了显示MS Win2003 Win2008也可能适用的链接。如果您调用:。基本上,如果您使用大量线程发送突发加载请求,则可能会轰炸您。听起来与您描述的内容很熟悉。如果可能,我仍然建议在其他VM主机上设置。请尝试仅发出调用来自有缺陷的主机ie,而不是来自其他主机。请随时通知我们!:更好的是,有人与您的问题几乎相同:。看来Win2008与Win2003的问题相同,只有一个补丁尚未发布。此线程详细介绍了他们跟踪突发的方法,以及他们在过程中更改了什么,以更改使用W调用所需数据的方式MI to RPC.值得一看..我甚至建议创建一个SolarWindws论坛帐户,并在您有信息要添加时发布到该帐户中。:叹气,没有。到目前为止,由于不相关的原因,我们已将查询移动到本地查询,即发送可部署到目标框并在本地连接到WMI服务器。我认为这将永远是Windows的一个谜。 Connected to ROOT\CIMV2 WMI namespace beginning of loop... IEnumWbemClassObject::Next returned 0x800706bf beginning of loop... IEnumWbemClassObject::Next returned 0x0 OS Name : Microsoft Windows Server 2008 R2 Datacenter |C:\Windows|\Device\Harddisk0\Partition1 Free physical memory (in kilobytes): 8050116 Press any key to continue . . . Level Date and Time Source Event ID Task Category Information 12/6/2012 12:22:03 PM Microsoft-Windows-WMI-Activity 1 None GroupOperationId = 6350; OperationId = 6350; Operation = IWbemServices::Connect; ClientMachine = MSJOHNSON-THINK; User = CORP\Administrator; ClientProcessId = 26304; NamespaceName = \\serverdude\root\cimv2 Information 12/6/2012 12:22:03 PM Microsoft-Windows-WMI-Activity 1 None GroupOperationId = 6351; OperationId = 6352; Operation = Start IWbemServices::ExecQuery - Select * from Win32_OperatingSystem; ClientMachine = MSJOHNSON-THINK; User = CORP\Administrator; ClientProcessId = 26304; NamespaceName = \\.\root\cimv2 Information 12/6/2012 12:22:03 PM Microsoft-Windows-WMI-Activity 1 None GroupOperationId = 6351; OperationId = 6353; Operation = Start IWbemServices::ExecQuery - Select * from __ClassProviderRegistration; ClientMachine = Local; User = CORP\Administrator; ClientProcessId = 0; NamespaceName = \\.\root\CIMV2 Information 12/6/2012 12:22:03 PM Microsoft-Windows-WMI-Activity 1 None "GroupOperationId = 6351; OperationId = 6354; Operation = Start IWbemServices::GetObject - __Win32Provider.Name=""WmiPerfClass""; ClientMachine = Local; User = CORP\Administrator; ClientProcessId = 0; NamespaceName = \\.\root\CIMV2" Information 12/6/2012 12:22:03 PM Microsoft-Windows-WMI-Activity 3 None Stop OperationId = 6354 Information 12/6/2012 12:22:03 PM Microsoft-Windows-WMI-Activity 1 None "GroupOperationId = 6351; OperationId = 6355; Operation = Start IWbemServices::ExecQuery - references of {__Win32Provider.Name=""WmiPerfClass""}; ClientMachine = Local; User = CORP\Administrator; ClientProcessId = 0; NamespaceName = \\.\root\CIMV2" Information 12/6/2012 12:22:03 PM Microsoft-Windows-WMI-Activity 3 None Stop OperationId = 6353 Information 12/6/2012 12:22:03 PM Microsoft-Windows-WMI-Activity 1 None "GroupOperationId = 6351; OperationId = 6356; Operation = Start IWbemServices::GetObject - __Win32Provider.Name=""CIMWin32""; ClientMachine = Local; User = CORP\Administrator; ClientProcessId = 0; NamespaceName = \\.\root\CIMV2" Information 12/6/2012 12:22:03 PM Microsoft-Windows-WMI-Activity 3 None Stop OperationId = 6356 Information 12/6/2012 12:22:03 PM Microsoft-Windows-WMI-Activity 1 None "GroupOperationId = 6351; OperationId = 6357; Operation = Start IWbemServices::ExecQuery - references of {__Win32Provider.Name=""CIMWin32""}; ClientMachine = Local; User = CORP\Administrator; ClientProcessId = 0; NamespaceName = \\.\root\CIMV2" Information 12/6/2012 12:22:03 PM Microsoft-Windows-WMI-Activity 3 None Stop OperationId = 6355 Information 12/6/2012 12:22:03 PM Microsoft-Windows-WMI-Activity 3 None Stop OperationId = 6357 Information 12/6/2012 12:22:03 PM Microsoft-Windows-WMI-Activity 1 None GroupOperationId = 6358; OperationId = 6358; Operation = IWbemServices::Connect; ClientMachine = WIN-T53A1FADTFB; User = NT AUTHORITY\NETWORK SERVICE; ClientProcessId = 3000; NamespaceName = Root Information 12/6/2012 12:22:03 PM Microsoft-Windows-WMI-Activity 3 None Stop OperationId = 6358 Information 12/6/2012 12:22:03 PM Microsoft-Windows-WMI-Activity 1 None "GroupOperationId = 6351; OperationId = 6359; Operation = Start IWbemServices::ExecQuery - references of {__Win32Provider.Name=""CIMWin32""}; ClientMachine = Local; User = CORP\Administrator; ClientProcessId = 0; NamespaceName = \\.\root\CIMV2" Information 12/6/2012 12:22:03 PM Microsoft-Windows-WMI-Activity 3 None Stop OperationId = 6359 Information 12/6/2012 12:22:03 PM Microsoft-Windows-WMI-Activity 1 None GroupOperationId = 6351; OperationId = 6360; Operation = Start IWbemServices::GetObject - Win32_OperatingSystem; ClientMachine = Local; User = CORP\Administrator; ClientProcessId = 0; NamespaceName = \\.\root\CIMV2 Information 12/6/2012 12:22:03 PM Microsoft-Windows-WMI-Activity 3 None Stop OperationId = 6360 Information 12/6/2012 12:22:03 PM Microsoft-Windows-WMI-Activity 1 None "GroupOperationId = 6351; OperationId = 6361; Operation = Start IWbemServices::GetObject - __Win32Provider.Name=""CIMWin32""; ClientMachine = Local; User = CORP\Administrator; ClientProcessId = 0; NamespaceName = \\.\root\CIMV2" Information 12/6/2012 12:22:03 PM Microsoft-Windows-WMI-Activity 3 None Stop OperationId = 6361 Information 12/6/2012 12:22:03 PM Microsoft-Windows-WMI-Activity 1 None "GroupOperationId = 6351; OperationId = 6362; Operation = Start IWbemServices::ExecQuery - references of {__Win32Provider.Name=""CIMWin32""}; ClientMachine = Local; User = CORP\Administrator; ClientProcessId = 0; NamespaceName = \\.\root\CIMV2" Information 12/6/2012 12:22:03 PM Microsoft-Windows-WMI-Activity 3 None Stop OperationId = 6362 Information 12/6/2012 12:22:03 PM Microsoft-Windows-WMI-Activity 2 None ProviderInfo for GroupOperationId = 6351; Operation = Provider::CreateInstanceEnum - Win32_OperatingSystem; ProviderName = CIMWin32; ProviderGuid = {d63a5850-8f16-11cf-9f47-00aa00bf345c}; Path = %systemroot%\system32\wbem\cimwin32.dll Information 12/6/2012 12:22:03 PM Microsoft-Windows-WMI-Activity 1 None GroupOperationId = 6351; OperationId = 6363; Operation = Start IWbemServices::ExecQuery - SELECT __RELPATH FROM Win32_Process; ClientMachine = Local; User = CORP\Administrator; ClientProcessId = 0; NamespaceName = \\.\root\CIMV2 Information 12/6/2012 12:22:03 PM Microsoft-Windows-WMI-Activity 1 None "GroupOperationId = 6351; OperationId = 6364; Operation = Start IWbemServices::GetObject - __Win32Provider.Name=""CIMWin32""; ClientMachine = Local; User = CORP\Administrator; ClientProcessId = 0; NamespaceName = \\.\root\CIMV2" Information 12/6/2012 12:22:03 PM Microsoft-Windows-WMI-Activity 3 None Stop OperationId = 6364 Information 12/6/2012 12:22:03 PM Microsoft-Windows-WMI-Activity 1 None "GroupOperationId = 6351; OperationId = 6365; Operation = Start IWbemServices::ExecQuery - references of {__Win32Provider.Name=""CIMWin32""}; ClientMachine = Local; User = CORP\Administrator; ClientProcessId = 0; NamespaceName = \\.\root\CIMV2" Information 12/6/2012 12:22:03 PM Microsoft-Windows-WMI-Activity 3 None Stop OperationId = 6365 Information 12/6/2012 12:22:03 PM Microsoft-Windows-WMI-Activity 1 None GroupOperationId = 6351; OperationId = 6366; Operation = Start IWbemServices::GetObject - Win32_Process; ClientMachine = Local; User = CORP\Administrator; ClientProcessId = 0; NamespaceName = \\.\root\CIMV2 Information 12/6/2012 12:22:03 PM Microsoft-Windows-WMI-Activity 3 None Stop OperationId = 6366 Information 12/6/2012 12:22:03 PM Microsoft-Windows-WMI-Activity 1 None "GroupOperationId = 6351; OperationId = 6367; Operation = Start IWbemServices::GetObject - __Win32Provider.Name=""CIMWin32""; ClientMachine = Local; User = CORP\Administrator; ClientProcessId = 0; NamespaceName = \\.\root\CIMV2" Information 12/6/2012 12:22:03 PM Microsoft-Windows-WMI-Activity 3 None Stop OperationId = 6367 Information 12/6/2012 12:22:03 PM Microsoft-Windows-WMI-Activity 1 None "GroupOperationId = 6351; OperationId = 6368; Operation = Start IWbemServices::ExecQuery - references of {__Win32Provider.Name=""CIMWin32""}; ClientMachine = Local; User = CORP\Administrator; ClientProcessId = 0; NamespaceName = Level Date and Time Source Event ID Task Category Information 12/6/2012 12:29:41 PM Microsoft-Windows-WMI-Activity 1 None GroupOperationId = 6373; OperationId = 6373; Operation = IWbemServices::Connect; ClientMachine = MSJOHNSON-THINK; User = CORP\Administrator; ClientProcessId = 26004; NamespaceName = \\serverdude\root\cimv2 Information 12/6/2012 12:29:52 PM Microsoft-Windows-WMI-Activity 1 None GroupOperationId = 6374; OperationId = 6375; Operation = Start IWbemServices::ExecQuery - select * from win32_operatingsystem; ClientMachine = MSJOHNSON-THINK; User = CORP\Administrator; ClientProcessId = 26004; NamespaceName = \\.\root\cimv2 Information 12/6/2012 12:29:52 PM Microsoft-Windows-WMI-Activity 1 None GroupOperationId = 6374; OperationId = 6376; Operation = Start IWbemServices::ExecQuery - Select * from __ClassProviderRegistration; ClientMachine = Local; User = CORP\Administrator; ClientProcessId = 0; NamespaceName = \\.\root\CIMV2 Information 12/6/2012 12:29:52 PM Microsoft-Windows-WMI-Activity 1 None "GroupOperationId = 6374; OperationId = 6377; Operation = Start IWbemServices::GetObject - __Win32Provider.Name=""WmiPerfClass""; ClientMachine = Local; User = CORP\Administrator; ClientProcessId = 0; NamespaceName = \\.\root\CIMV2" Information 12/6/2012 12:29:52 PM Microsoft-Windows-WMI-Activity 3 None Stop OperationId = 6377 Information 12/6/2012 12:29:52 PM Microsoft-Windows-WMI-Activity 1 None "GroupOperationId = 6374; OperationId = 6378; Operation = Start IWbemServices::ExecQuery - references of {__Win32Provider.Name=""WmiPerfClass""}; ClientMachine = Local; User = CORP\Administrator; ClientProcessId = 0; NamespaceName = \\.\root\CIMV2" Information 12/6/2012 12:29:52 PM Microsoft-Windows-WMI-Activity 3 None Stop OperationId = 6376 Information 12/6/2012 12:29:52 PM Microsoft-Windows-WMI-Activity 3 None Stop OperationId = 6378 Information 12/6/2012 12:29:52 PM Microsoft-Windows-WMI-Activity 1 None GroupOperationId = 6374; OperationId = 6379; Operation = Start IWbemServices::GetObject - win32_operatingsystem; ClientMachine = Local; User = CORP\Administrator; ClientProcessId = 0; NamespaceName = \\.\root\CIMV2 Information 12/6/2012 12:29:52 PM Microsoft-Windows-WMI-Activity 3 None Stop OperationId = 6379 Information 12/6/2012 12:29:52 PM Microsoft-Windows-WMI-Activity 2 None ProviderInfo for GroupOperationId = 6374; Operation = Provider::CreateInstanceEnum - Win32_OperatingSystem; ProviderName = CIMWin32; ProviderGuid = {d63a5850-8f16-11cf-9f47-00aa00bf345c}; Path = %systemroot%\system32\wbem\cimwin32.dll Information 12/6/2012 12:29:52 PM Microsoft-Windows-WMI-Activity 1 None GroupOperationId = 6374; OperationId = 6380; Operation = Start IWbemServices::ExecQuery - SELECT __RELPATH FROM Win32_Process; ClientMachine = Local; User = CORP\Administrator; ClientProcessId = 0; NamespaceName = \\.\root\CIMV2 Information 12/6/2012 12:29:52 PM Microsoft-Windows-WMI-Activity 1 None GroupOperationId = 6374; OperationId = 6381; Operation = Start IWbemServices::GetObject - Win32_Process; ClientMachine = Local; User