Я уже несколько дней ломаю голову над этим и не могу понять, что происходит.Мой компьютер dev - 64-разрядная машина Windows 7, и я пытаюсь подключиться через WMI к контроллеру домена Windows Server 2008.
Мой код довольно прост:
ConnectionOptions options = new ConnectionOptions();
options.Username = _username;
options.Password = _password;
options.EnablePrivileges = true;
options.Impersonation = ImpersonationLevel.Impersonate;
options.Authentication = AuthenticationLevel.Default;
ManagementScope scope = new ManagementScope(@"\\" + _hostip + @"\root\cimv2", options);
scope.Connect(); // this works!
ManagementEventWatcher watcher = new ManagementEventWatcher();
watcher.Scope = scope;
watcher.Query = new EventQuery(@"SELECT * FROM __InstanceCreationEvent WHERE TargetInstance ISA 'Win32_NTLogEvent' and TargetInstance.LogFile = 'Security'");
watcher.Start() // throws exception
watcher.WaitForNextEvent(); // works
Мои знания WMI ограничены, и я не могу понять, почему WaitForNextEvent () работает, а Start () - нет.Исключение, которое я продолжаю получать: Доступ запрещен.(Исключение из HRESULT: 0x80070005 (E_ACCESSDENIED))
Я несколько раз проверял, правильно ли настроен контроллер домена, к которому я пытаюсь подключиться (удаленное взаимодействие включено, включено и имеет разрешение)как учетная запись пользователя, которую я использую для подключения.
Буду очень признателен за любые идеи и понимание.