WMI: сервер RPC недоступен. (Исключение из HRESULT: 0x800706BA) бросает при попытке подключиться к удаленной машине
Я использую следующий код для подключения к удаленному компьютеру с помощью WMI:
ConnectionOptions connOptions = new ConnectionOptions();
connOptions.Impersonation = ImpersonationLevel.Impersonate;
connOptions.EnablePrivileges = true;
connOptions.Username = "admin";
connOptions.Password = "password";
ManagementScope scope = new ManagementScope(String.Format(@"\\{0}\ROOT\CIMV2", remoteMachine), connOptions);
scope.Connect();
Я получаю следующее исключение: RPC-сервер недоступен. (Исключение из HRESULT: 0x800706BA)
Проверил все шаги, описанные в этой статье базы знаний, на удаленной машине все в порядке.
Пользователь является администратором на удаленной машине.
Пробовал Wbemtest инструмент, тот же результат
У кого-нибудь есть идеи, что происходит?
Ответы
Ответ 1
Если вы под Win7, вы должны запустить приложение в качестве администратора. Вы также можете попробовать разные значения для свойства connOptions.Impersonation. Вы открыли порт RPC на удаленной машине? Попробуйте отключить альготер брандмауэра на обеих машинах.
Ответ 2
Также необходимо включить правило инструментария управления Windows (WMI) в брандмауэре Windows.
1] Брандмауэр Windows.
2] Разрешить приложение или функцию через брандмауэр Windows.
3] Включить привилегии для инструментария управления Windows (WMI).
Чтобы включить или отключить правило WMI с помощью брандмауэра Windows
- На панели управления нажмите " Безопасность", а затем " Брандмауэр Windows".
- Нажмите " Изменить настройки", а затем перейдите на вкладку "Исключения".
- В окне Исключения установите флажок Инструментарий управления Windows (WMI), чтобы включить трафик WMI через брандмауэр.
Чтобы отключить трафик WMI, снимите флажок.
Вы также можете включить или отключить трафик WMI через брандмауэр в командной строке.
Чтобы включить или отключить трафик WMI в командной строке с помощью группы правил WMI
Используйте следующие команды в командной строке. Введите следующее, чтобы включить трафик WMI через брандмауэр.
netsh advfirewall firewall set rule group="windows management instrumentation (wmi)" new enable=yes
Введите следующую команду, чтобы отключить трафик WMI через брандмауэр.
netsh advfirewall firewall set rule group="windows management instrumentation (wmi)" new enable=no
Ответ 3
Тем не менее у вас есть проблема, а затем ниже ссылка может помочь вам.
Подключение к WMI удаленно
Я столкнулся с этой проблемой, даже мой все брандмауэр выключен.
Ниже запускается команда, и моя проблема решена.
-
netsh advfirewall firewall set rule group = "управление окнами (wmi)" new enable = yes
-
netsh advfirewall firewall добавить правило dir = in name= "DCOM" program =% systemroot%\system32\svchost.exe service = rpcss action = allow protocol = TCP localport = 135
-
netsh advfirewall firewall добавить правило dir = in name = "WMI" program =% systemroot%\system32\svchost.exe service = winmgmt action = разрешить протокол = TCP localport = any
-
netsh advfirewall firewall добавить правило dir = in name = "UnsecApp" program =% systemroot%\system32\wbem\unsecapp.exe action = allow
-
netsh advfirewall firewall добавить правило dir = out name = "WMI_OUT" program =% systemroot%\system32\svchost.exe service = winmgmt action = allow protocol = TCP localport = any