Удаленные вызовы WMI в Windows Server 2008 R2 постоянно выдают ошибку при первой попытке (0x800706BF), а затем при второй попытке

Первый раз я побежал этот пример C ++ код из MSDN для получения данных WMI с удаленного компьютера все работало нормально. Он также работал для коллег с той же конфигурацией, что и у меня: Windows Server 2008 R2 Виртуальная машина (контроллер домена) в качестве удаленной машины; Windows 7 хост-машина (в другом домене) как клиент, делающий звонки.

Однако в какой-то момент код перестал работать. Краткий обзор кода: он запрашивает учетные данные, затем подключается к удаленному серверу, а затем запрашивает информацию об ОС с помощью строки WQL Select * from win32_operatingsystem, затем извлекает возвращенный объект ОС, затем запрашивает объект, представляющий имя ОС, и объект, представляющий свободную память на машине, выводя эту информацию на консоль. В настоящее время ошибки при первом IEnumWbemClassObject::Next вызов, который должен получить объект ОС.

Код, с которым я сейчас работаю, является слегка адаптированной версией приведенного выше примера кода. Вот полный .cpp (с некоторыми удаленными закомментированными блоками кода):

#define _WIN32_DCOM
#define UNICODE
#include <iostream>
using namespace std;
#include <comdef.h>
#include <Wbemidl.h>
#pragma comment(lib, "wbemuuid.lib")
#pragma comment(lib, "credui.lib")
#pragma comment(lib, "comsuppw.lib")
#include <wincred.h>
#include <strsafe.h>

// Macro for cleanup (changed to exit to imitate original code more closely)
#define EXIT(x) { ret = x; goto out; }

// Entry point:
int __cdecl main(int argc, char **argv)
{
HRESULT hres;
int ret = 0;

// Initialize COM
hres = CoInitializeEx(0, COINIT_MULTITHREADED);
if (FAILED(hres))
{
cout << "Failed to initialize COM library. Error code = 0x" << hex << hres << endl;
EXIT(1);
}

// Set general COM security levels
hres =  CoInitializeSecurity(
NULL,
-1,                          // COM authentication
NULL,                        // Authentication services
NULL,                        // Reserved
RPC_C_AUTHN_LEVEL_DEFAULT,   // Default authentication
RPC_C_IMP_LEVEL_IDENTIFY,    // Default Impersonation
NULL,                        // Authentication info
EOAC_NONE,                   // Additional capabilities
NULL                         // Reserved
);

if (FAILED(hres))
{
cout << "Failed to initialize security. Error code = 0x" << hex << hres << endl;
CoUninitialize();
EXIT(1);
}

// Obtain the initial locator to WMI
IWbemLocator* pLoc = NULL;
hres = CoCreateInstance(
CLSID_WbemLocator,
0,
CLSCTX_INPROC_SERVER,
IID_IWbemLocator,
(LPVOID*)&pLoc);

if (FAILED(hres))
{
cout << "Failed to create IWbemLocator object." << hex << hres << endl;
CoUninitialize();
EXIT(1);
}

// Connect to WMI through the IWbemLocator::ConnectServer method...
IWbemServices* pSvc = NULL;

// First, prompt for the user name and password for the remote computer
CREDUI_INFO cui;
bool useToken = false;
bool useNTLM = true;
wchar_t pszName[CREDUI_MAX_USERNAME_LENGTH+1] = {0};
wchar_t pszPwd[CREDUI_MAX_PASSWORD_LENGTH+1] = {0};
wchar_t pszDomain[CREDUI_MAX_USERNAME_LENGTH+1];
wchar_t pszUserName[CREDUI_MAX_USERNAME_LENGTH+1];
wchar_t pszAuthority[CREDUI_MAX_USERNAME_LENGTH+1];
BOOL fSave;
DWORD dwErr;

memset(&cui,0,sizeof(CREDUI_INFO));
cui.cbSize = sizeof(CREDUI_INFO);
cui.hwndParent = NULL;

cui.pszMessageText = TEXT("Press cancel to use process token");
cui.pszCaptionText = TEXT("Enter Account Information");
cui.hbmBanner = NULL;
fSave = FALSE;

dwErr = CredUIPromptForCredentials(
&cui,                             // CREDUI_INFO structure
TEXT(""),                         // Target for credentials
NULL,                             // Reserved
0,                                // Reason
pszName,                          // User name
CREDUI_MAX_USERNAME_LENGTH+1,     // Max number for user name
pszPwd,                           // Password
CREDUI_MAX_PASSWORD_LENGTH+1,     // Max number for password
&fSave,                           // State of save check box
CREDUI_FLAGS_GENERIC_CREDENTIALS |// flags
CREDUI_FLAGS_ALWAYS_SHOW_UI |
CREDUI_FLAGS_DO_NOT_PERSIST);

if (ERROR_CANCELLED == dwErr)
{
useToken = true;
}
else if (dwErr)
{
cout << "Did not get credentials: " << dwErr << endl;
pLoc->Release();
CoUninitialize();
EXIT(1);
}

if (!useNTLM)
{
cout << "not using NTLM" << endl;
StringCchPrintf(pszAuthority, CREDUI_MAX_USERNAME_LENGTH+1, L"kERBEROS: %s", L"serverdude");
}

// Connect to the remote root\cimv2 namespace and obtain pointer pSvc to make IWbemServices calls.
hres = pLoc->ConnectServer(
_bstr_t(L"\\\\serverdude\\root\\cimv2"),
_bstr_t(useToken?NULL:pszName),    // User name
_bstr_t(useToken?NULL:pszPwd),     // User password
NULL,                              // Locale
NULL,                              // Security flags
_bstr_t(useNTLM?NULL:pszAuthority),// Authority
NULL,                              // Context object
&pSvc                              // IWbemServices proxy
);

if (FAILED(hres))
{
cout << "Could not connect. Error code = 0x" << hex << hres << endl;
pLoc->Release();
CoUninitialize();
EXIT(1);
}
cout << "Connected to ROOT\\CIMV2 WMI namespace" << endl;

// Create COAUTHIDENTITY that can be used for setting security on proxy
COAUTHIDENTITY* userAcct = NULL;
COAUTHIDENTITY authIdent;

if (!useToken)
{
memset(&authIdent, 0, sizeof(COAUTHIDENTITY));
authIdent.PasswordLength = wcslen (pszPwd);
authIdent.Password = (USHORT*)pszPwd;

LPWSTR slash = wcschr (pszName, L'\\');
if (NULL == slash)
{
cout << "Could not create Auth identity. No domain specified.\n";
pSvc->Release();
pLoc->Release();
CoUninitialize();
EXIT(1);
}

StringCchCopy(pszUserName, CREDUI_MAX_USERNAME_LENGTH+1, slash+1);
authIdent.User = (USHORT*)pszUserName;
authIdent.UserLength = wcslen(pszUserName);

StringCchCopyN(pszDomain, CREDUI_MAX_USERNAME_LENGTH+1, pszName, slash - pszName);
authIdent.Domain = (USHORT*)pszDomain;
authIdent.DomainLength = slash - pszName;
authIdent.Flags = SEC_WINNT_AUTH_IDENTITY_UNICODE;

userAcct = &authIdent;
}

// Set security levels on a WMI connection
hres = CoSetProxyBlanket(
pSvc,                           // Indicates the proxy to set
RPC_C_AUTHN_DEFAULT,            // RPC_C_AUTHN_xxx
RPC_C_AUTHZ_DEFAULT,            // RPC_C_AUTHZ_xxx
COLE_DEFAULT_PRINCIPAL,         // Server principal name
RPC_C_AUTHN_LEVEL_PKT_PRIVACY,  // RPC_C_AUTHN_LEVEL_xxx
RPC_C_IMP_LEVEL_IMPERSONATE,    // RPC_C_IMP_LEVEL_xxx
userAcct,                       // client identity
EOAC_NONE                       // proxy capabilities
);

if (FAILED(hres))
{
cout << "Could not set proxy blanket. Error code = 0x" << hex << hres << endl;
pSvc->Release();
pLoc->Release();
CoUninitialize();
EXIT(1);
}

// Use the IWbemServices pointer to make requests of WMI...
// Get the name of the operating system
IEnumWbemClassObject* pEnum = NULL;
hres = pSvc->ExecQuery(
bstr_t("WQL"),
bstr_t("Select * from Win32_OperatingSystem"),
WBEM_FLAG_FORWARD_ONLY | WBEM_FLAG_RETURN_IMMEDIATELY,
NULL,
&pEnum);

if (FAILED(hres))
{
cout << "Query for operating system name failed." << " Error code = 0x" << hex << hres << endl;
pSvc->Release();
pLoc->Release();
CoUninitialize();
EXIT(1);
}

// Secure the enumerator proxy
hres = CoSetProxyBlanket(
pEnum,                          // Indicates the proxy to set
RPC_C_AUTHN_DEFAULT,            // RPC_C_AUTHN_xxx
RPC_C_AUTHZ_DEFAULT,            // RPC_C_AUTHZ_xxx
COLE_DEFAULT_PRINCIPAL,         // Server principal name
RPC_C_AUTHN_LEVEL_PKT_PRIVACY,  // RPC_C_AUTHN_LEVEL_xxx
RPC_C_IMP_LEVEL_IMPERSONATE,    // RPC_C_IMP_LEVEL_xxx
userAcct,                       // client identity
EOAC_NONE                       // proxy capabilities
);

if (FAILED(hres))
{
cout << "Could not set proxy blanket on enumerator. Error code = 0x" << hex << hres << endl;
pEnum->Release();
pSvc->Release();
pLoc->Release();
CoUninitialize();
EXIT(1);
}

// Erase credentials from memory.
SecureZeroMemory(pszName, sizeof(pszName));
SecureZeroMemory(pszPwd, sizeof(pszPwd));
SecureZeroMemory(pszUserName, sizeof(pszUserName));
SecureZeroMemory(pszDomain, sizeof(pszDomain));

// Get the data from the OS query
IWbemClassObject* pclsObj = NULL;
ULONG uReturn = 0;

while (pEnum)
{
// DEBUG:
cout << "beginning of loop..." << endl;

// Get the result of the query
HRESULT hr = pEnum->Next(WBEM_INFINITE, 1, &pclsObj, &uReturn);

// DEBUG:
cout << "IEnumWbemClassObject::Next returned 0x" << hex << hr << endl;

// PATCH: NOT SURE WHY IT WORKS
if (0 == uReturn)
{
continue;
}

// Get the value of the Name property
VARIANT vtProp;
hr = pclsObj->Get(L"Name", 0, &vtProp, 0, 0);
if (FAILED(hr))
{
cout << "Could not get OS name. Error code = 0x" << hex << hr << endl;
EXIT(1);
}

// Display OS name info
wcout << "\tOS Name : " << vtProp.bstrVal << endl;

// Get the value of the FreePhysicalMemory property
hr = pclsObj->Get(L"FreePhysicalMemory", 0, &vtProp, 0, 0);
if (FAILED(hr))
{
cout << "Could not get free physical memory. Error code = 0x" << hex << hr << endl;
EXIT(1);
}

// Display free memory info
wcout << "\tFree physical memory (in kilobytes): " << vtProp.uintVal << endl;

VariantClear(&vtProp);
pclsObj->Release();
pclsObj = NULL;

// KEEP THIS ONLY IF USING PATCH SOLN
break;
}

// Clean up
pSvc->Release();
pLoc->Release();
pEnum->Release();
if (pclsObj)
{
pclsObj->Release();
}
CoUninitialize();

out:
system("pause");
return ret;
}

Вывод на консоль:

Подключено к пространству имен ROOT \ CIMV2 WMI
начало цикла ...
IEnumWbemClassObject :: Next вернул 0x800706bf
начало цикла ...
IEnumWbemClassObject :: Next вернул 0x0
Имя ОС: Центр обработки данных Microsoft Windows Server 2008 R2 | C: \ Windows | \ Device \ Harddisk0 \ Partition1
Свободная физическая память (в килобайтах): 8050116
Нажмите любую клавишу для продолжения . , ,

Единственное существенное изменение в коде — это цикл в конце. Пример MSDN не проверяет наличие ошибки, а вместо этого прерывает цикл, если EnumWbemClassObject::Next устанавливает puReturned параметр до 0 (с указанием 0 возвращенных объектов из 1 запрошенных). Вместо этого я отображаю результат, но не воздействую на него, попробуйте цикл снова, если uResult 0, и вырывается из цикла только тогда, когда это не так. Это, очевидно, хакерское решение, которое может привести к бесконечному циклу, если код работает правильно. Стоит также отметить, что в какой-то момент, когда я экспериментировал с циклом, я получил одно из этих странных нарушений доступа: программа вызвала исключение в определенной строке, но когда я изменил следующий линия проблема ушла. Это заставляет меня думать, что может быть что-то странное с повреждением памяти.

Вот странная часть: когда я бегу wbemtest.exe (предоставляемый Windows графический интерфейс для запуска команд WMI, локальных или удаленных), мой запрос также работает только со второй попытки. Как и мой код, он возвращает Error 0x800706bf: The remote procedure call failed and did not execute с первой попытки.

Из любопытства я зарегистрировал активность WMI, используя Event Logging. Я не могу многое почерпнуть из результатов (кроме того факта, что между моим кодом и WBEMtest.exe происходит что-то другое), но вот они в любом случае:

Из прогона моего кода:

Уровень Дата и время Источник Идентификатор события Категория задачи
Информация 06.12.2012 12:22:03 Microsoft-Windows-WMI-Activity 1 Нет GroupOperationId = 6350; OperationId = 6350; Operation = IWbemServices :: Connect; ClientMachine = MSJOHNSON-THINK; Пользователь = CORP \ Администратор; ClientProcessId = 26304; NamespaceName = \\ serverdude \ root \ cimv2
Информация 06.12.2012 12:22:03 Microsoft-Windows-WMI-Activity 1 Нет GroupOperationId = 6351; OperationId = 6352; Операция = Запустить IWbemServices :: ExecQuery - Выбрать * из Win32_OperatingSystem; ClientMachine = MSJOHNSON-THINK; Пользователь = CORP \ Администратор; ClientProcessId = 26304; NamespaceName = \\. \ Root \ cimv2
Информация 06.12.2012 12:22:03 Microsoft-Windows-WMI-Activity 1 Нет GroupOperationId = 6351; OperationId = 6353; Операция = Запустить IWbemServices :: ExecQuery - Выбрать * из __ClassProviderRegistration; ClientMachine = Local; Пользователь = CORP \ Администратор; ClientProcessId = 0; NamespaceName = \\. \ Root \ CIMV2
Информация 06.12.2012 12:22:03 Microsoft-Windows-WMI-Activity 1 Нет "GroupOperationId = 6351; OperationId = 6354; Operation = Start IWbemServices :: GetObject - __Win32Provider.Name =" "WmiPerfClass" "; ClientMachine = Локальный; Пользователь = CORP \ Administrator; ClientProcessId = 0; NamespaceName = \\. \ Root \ CIMV2 "Информация 06.12.2012 12:22:03 Microsoft-Windows-WMI-Activity 3 Нет Стоп OperationId = 6354
Информация 06.12.2012 12:22:03 Microsoft-Windows-WMI-Activity 1 Нет "GroupOperationId = 6351; OperationId = 6355; Operation = Start IWbemServices :: ExecQuery - ссылки на {__Win32Provider.Name =" "WmiPerfClass" " }; ClientMachine = Local; Пользователь = CORP \ Administrator; ClientProcessId = 0; NamespaceName = \\. \ Root \ CIMV2 "Information 12/6/2012 12:22:03 PM Microsoft-Windows-WMI-Activity 3 Нет Остановить OperationId = 6353
Информация 06.12.2012 12:22:03 Microsoft-Windows-WMI-Activity 1 Нет "GroupOperationId = 6351; OperationId = 6356; Operation = Start IWbemServices :: GetObject - __Win32Provider.Name =" "CIMWin32" "; ClientMachine = Локальный; Пользователь = CORP \ Administrator; ClientProcessId = 0; NamespaceName = \\. \ Root \ CIMV2 "Информация 06.12.2012 12:22:03 Microsoft-Windows-WMI-Activity 3 Нет Стоп OperationId = 6356
Информация 06.12.2012 12:22:03 Microsoft-Windows-WMI-Activity 1 Нет "GroupOperationId = 6351; OperationId = 6357; Operation = Start IWbemServices :: ExecQuery - ссылки на {__Win32Provider.Name =" "CIMWin32" " }; ClientMachine = Local; Пользователь = CORP \ Administrator; ClientProcessId = 0; NamespaceName = \\. \ Root \ CIMV2 "Information 12/6/2012 12:22:03 PM Microsoft-Windows-WMI-Activity 3 Нет Остановить OperationId = 6355
Информация 06.12.2012 12:22:03 Microsoft-Windows-WMI-Упражнение 3 Нет Стоп OperationId = 6357
Информация 06.12.2012 12:22:03 Microsoft-Windows-WMI-Activity 1 Нет GroupOperationId = 6358; OperationId = 6358; Operation = IWbemServices :: Connect; ClientMachine = WIN-T53A1FADTFB; Пользователь = NT AUTHORITY \ NETWORK SERVICE; ClientProcessId = 3000; NamespaceName = Root
Информация 06.12.2012 12:22:03 Microsoft-Windows-WMI-Упражнение 3 Нет Стоп OperationId = 6358
Информация 06.12.2012 12:22:03 Microsoft-Windows-WMI-Activity 1 Нет "GroupOperationId = 6351; OperationId = 6359; Operation = Start IWbemServices :: ExecQuery - ссылки на {__Win32Provider.Name =" "CIMWin32" " }; ClientMachine = Local; Пользователь = CORP \ Administrator; ClientProcessId = 0; NamespaceName = \\. \ Root \ CIMV2 "Information 12/6/2012 12:22:03 PM Microsoft-Windows-WMI-Activity 3 Нет Остановить OperationId = 6359
Информация 06.12.2012 12:22:03 Microsoft-Windows-WMI-Activity 1 Нет GroupOperationId = 6351; OperationId = 6360; Операция = Запустить IWbemServices :: GetObject - Win32_OperatingSystem; ClientMachine = Local; Пользователь = CORP \ Администратор; ClientProcessId = 0; NamespaceName = \\. \ Root \ CIMV2
Информация 06.12.2012 12:22:03 Microsoft-Windows-WMI-Activity 3 Нет Stop OperationId = 6360
Информация 06.12.2012 12:22:03 Microsoft-Windows-WMI-Activity 1 Нет "GroupOperationId = 6351; OperationId = 6361; Operation = Start IWbemServices :: GetObject - __Win32Provider.Name =" "CIMWin32" "; ClientMachine = Локальный; Пользователь = CORP \ Administrator; ClientProcessId = 0; NamespaceName = \\. \ Root \ CIMV2 "Информация 06.12.2012 12:22:03 Microsoft-Windows-WMI-Activity 3 Нет Стоп OperationId = 6361
Информация 06.12.2012 12:22:03 Microsoft-Windows-WMI-Activity 1 Нет "GroupOperationId = 6351; OperationId = 6362; Operation = Start IWbemServices :: ExecQuery - ссылки на {__Win32Provider.Name =" "CIMWin32" " }; ClientMachine = Local; Пользователь = CORP \ Administrator; ClientProcessId = 0; NamespaceName = \\. \ Root \ CIMV2 "Information 12/6/2012 12:22:03 PM Microsoft-Windows-WMI-Activity 3 Нет Остановить OperationId = 6362
Информация 06.12.2012 12:22:03 Microsoft-Windows-WMI-Activity 2 Нет ProviderInfo для GroupOperationId = 6351; Operation = Provider :: CreateInstanceEnum - Win32_OperatingSystem; ProviderName = CIMWin32; ProviderGuid = {d63a5850-8f16-11cf-9f47-00aa00bf345c}; Путь =% systemroot% \ system32 \ wbem \ cimwin32.dll
Информация 06.12.2012 12:22:03 Microsoft-Windows-WMI-Activity 1 Нет GroupOperationId = 6351; OperationId = 6363; Операция = Запустить IWbemServices :: ExecQuery - ВЫБРАТЬ __RELPATH ОТ Win32_Process; ClientMachine = Local; Пользователь = CORP \ Администратор; ClientProcessId = 0; NamespaceName = \\. \ Root \ CIMV2
Информация 06.12.2012 12:22:03 Microsoft-Windows-WMI-Activity 1 Нет "GroupOperationId = 6351; OperationId = 6364; Operation = Start IWbemServices :: GetObject - __Win32Provider.Name =" "CIMWin32" "; ClientMachine = Локальный; Пользователь = CORP \ Administrator; ClientProcessId = 0; NamespaceName = \\. \ Root \ CIMV2 "Информация 06.12.2012 12:22:03 Microsoft-Windows-WMI-Activity 3 Нет Стоп OperationId = 6364
Информация 06.12.2012 12:22:03 Microsoft-Windows-WMI-Activity 1 Нет "GroupOperationId = 6351; OperationId = 6365; Operation = Start IWbemServices :: ExecQuery - ссылки на {__Win32Provider.Name =" "CIMWin32" " }; ClientMachine = Local; Пользователь = CORP \ Administrator; ClientProcessId = 0; NamespaceName = \\. \ Root \ CIMV2 "Information 12/6/2012 12:22:03 PM Microsoft-Windows-WMI-Activity 3 Нет Остановить OperationId = 6365
Информация 06.12.2012 12:22:03 Microsoft-Windows-WMI-Activity 1 Нет GroupOperationId = 6351; OperationId = 6366; Операция = Запустить IWbemServices :: GetObject - Win32_Process; ClientMachine = Local; Пользователь = CORP \ Администратор; ClientProcessId = 0; NamespaceName = \\. \ Root \ CIMV2
Информация 06.12.2012 12:22:03 Microsoft-Windows-WMI-Упражнение 3 Нет Стоп OperationId = 6366
Информация 06.12.2012 12:22:03 Microsoft-Windows-WMI-Activity 1 Нет "GroupOperationId = 6351; OperationId = 6367; Operation = Start IWbemServices :: GetObject - __Win32Provider.Name =" "CIMWin32" "; ClientMachine = Локальный; Пользователь = CORP \ Administrator; ClientProcessId = 0; NamespaceName = \\. \ Root \ CIMV2 "Информация 06.12.2012 12:22:03 Microsoft-Windows-WMI-Activity 3 Нет Стоп OperationId = 6367
Информация 06.12.2012 12:22:03 Microsoft-Windows-WMI-Activity 1 Нет "GroupOperationId = 6351; OperationId = 6368; Operation = Start IWbemServices :: ExecQuery - ссылки на {__Win32Provider.Name =" "CIMWin32" " }; ClientMachine = Local; Пользователь = CORP \ Administrator; ClientProcessId = 0; NamespaceName =

Из прогона WBEMtest.exe:

Уровень Дата и время Источник Идентификатор события Категория задачи
Информация 06.12.2012 12:29:41 Microsoft-Windows-WMI-Activity 1 Нет GroupOperationId = 6373; OperationId = 6373; Operation = IWbemServices :: Connect; ClientMachine = MSJOHNSON-THINK; Пользователь = CORP \ Администратор; ClientProcessId = 26004; NamespaceName = \\ serverdude \ root \ cimv2
Информация 06.12.2012 12:29:52 Microsoft-Windows-WMI-Activity 1 Нет GroupOperationId = 6374; OperationId = 6375; Операция = Запустить IWbemServices :: ExecQuery - выбрать * из win32_operatingsystem; ClientMachine = MSJOHNSON-THINK; Пользователь = CORP \ Администратор; ClientProcessId = 26004; NamespaceName = \\. \ Root \ cimv2
Информация 06.12.2012 12:29:52 Microsoft-Windows-WMI-Activity 1 Нет GroupOperationId = 6374; OperationId = 6376; Операция = Запустить IWbemServices :: ExecQuery - Выбрать * из __ClassProviderRegistration; ClientMachine = Local; Пользователь = CORP \ Администратор; ClientProcessId = 0; NamespaceName = \\. \ Root \ CIMV2
Информация 06.12.2012 12:29:52 Microsoft-Windows-WMI-Activity 1 Нет "GroupOperationId = 6374; OperationId = 6377; Operation = Start IWbemServices :: GetObject - __Win32Provider.Name =" "WmiPerfClass" "; ClientMachine = Локальный; Пользователь = CORP \ Administrator; ClientProcessId = 0; NamespaceName = \\. \ Root \ CIMV2 "Информация 06.12.2012 12:29:52 Microsoft-Windows-WMI-Activity 3 Нет Стоп OperationId = 6377
Информация 06.12.2012 12:29:52 Microsoft-Windows-WMI-Activity 1 Нет "GroupOperationId = 6374; OperationId = 6378; Operation = Start IWbemServices :: ExecQuery - ссылки на {__Win32Provider.Name =" "WmiPerfClass" " }; ClientMachine = Local; Пользователь = CORP \ Administrator; ClientProcessId = 0; NamespaceName = \\. \ Root \ CIMV2 "Информация 06.12.2012 12:29:52 Microsoft-Windows-WMI-Activity 3 Нет Остановить OperationId = 6376
Информация 06.12.2012 12:29:52 Microsoft-Windows-WMI-Activity 3 Нет Стоп OperationId = 6378
Информация 06.12.2012 12:29:52 Microsoft-Windows-WMI-Activity 1 Нет GroupOperationId = 6374; OperationId = 6379; Операция = Запустить IWbemServices :: GetObject - win32_operatingsystem; ClientMachine = Local; Пользователь = CORP \ Администратор; ClientProcessId = 0; NamespaceName = \\. \ Root \ CIMV2
Информация 06.12.2012 12:29:52 Microsoft-Windows-WMI-Activity 3 Нет Стоп OperationId = 6379
Информация 06.12.2012 12:29:52 Microsoft-Windows-WMI-Activity 2 Нет ProviderInfo для GroupOperationId = 6374; Operation = Provider :: CreateInstanceEnum - Win32_OperatingSystem; ProviderName = CIMWin32; ProviderGuid = {d63a5850-8f16-11cf-9f47-00aa00bf345c}; Путь =% systemroot% \ system32 \ wbem \ cimwin32.dll
Информация 06.12.2012 12:29:52 Microsoft-Windows-WMI-Activity 1 Нет GroupOperationId = 6374; OperationId = 6380; Операция = Запустить IWbemServices :: ExecQuery - ВЫБРАТЬ __RELPATH ОТ Win32_Process; ClientMachine = Local; Пользователь = CORP \ Администратор; ClientProcessId = 0; NamespaceName = \\. \ Root \ CIMV2
Информация 06.12.2012 12:29:52 Microsoft-Windows-WMI-Activity 1 Нет GroupOperationId = 6374; OperationId = 6381; Операция = Запустить IWbemServices :: GetObject - Win32_Process; ClientMachine = Local; пользователь

Так что, да, я в полной растерянности. Кто-нибудь может понять, что происходит? Я видел сообщения о том, что другие люди наблюдали несовместимое поведение WMI между машинами в похожих ситуациях (например, здесь был задан вопрос WMI-запрос для Win32_BaseBoard не возвращает результатов—не могу связать из-за максимума с двумя гиперссылками для новых пользователей), но я никогда не видел удовлетворительного объяснения. Кстати, я начал с новой виртуальной машины и все еще имел эту проблему (хотя время от времени WBEMtest.exe не выдает ошибку с первой попытки).

3

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]