Удаленное соединение WMI

Я хочу соединиться с удаленным ПК, запускающим Windows 7 от другого использования ПК ManagementScope в локальной сети. На удаленном ПК я создал новую учетную запись пользователя "Samuel" без пароля и установил как администратор.

ConnectionOptions options = new ConnectionOptions();
options.Username = "Samuel";
options.Password = "";

ManagementScope scope = new ManagementScope("\\\\192.168.0.2\\root\\cimv2", options);          
scope.Connect();

Ошибка я добираюсь:

Доступ запрещен. (Исключение из HRESULT: 0x80070005 (E_ACCESSDENIED))

Обновление:
После установки пароля для использования я получаю новую ошибку:

Сервер RPC недоступен. (Исключение из HRESULT: 0x800706BA)

9
задан Shog9 7 December 2014 в 18:55
поделиться

5 ответов

Возможно, дело в отсутствующем 'EnablePrivileges':

scope.Options.EnablePrivileges = true;

Из MSDN (ConnectionOptions.EnablePrivileges Property):

Получает или устанавливает значение, указывающее на то. должны ли быть включены привилегии пользователя включить привилегии пользователя для операции подключения. Это свойство следует использовать только тогда, когда выполняемая операция требует включения определенных привилегий пользователя (например, перезагрузка машины).

Изменить: Если это не работает, попробуйте установить ImpersonationLevel в 'Impersonate':

scope.Options.Impersonation = System.Management.ImpersonationLevel.Impersonate;

ImpersonationLevel Impersonate: Уровень имперсонации COM уровень, который позволяет объектам использовать учетные данные вызывающей стороны. Это рекомендуемый уровень обезличивания для вызовов WMI.

9
ответ дан 4 December 2019 в 08:50
поделиться
  • Согласно WMI FAQ на TechNet, ошибка 0x80070005 указывает на проблему DCOM:

    0x80070005 (DCOM ACCESS_DENIED)
    Эта ошибка возникает, когда подключенный пользователь не распознается или каким-либо образом ограничивается удаленным сервером (например, пользователь может быть заблокирован). Чаще всего это происходит, когда учетные записи находятся в разных доменах. Недавние изменения в безопасности WMI также могут вызвать эту ошибку:

    • Пустые пароли, которые ранее разрешались, не разрешены в Windows XP и Windows Server 2003.

    • WMI не допускает асинхронных обратных вызовов для клиента Windows 98. Вызов типа SWbemServices.ExecNotificationQueryAsync с компьютера под управлением Windows 98 на компьютер под управлением Windows XP приведет к возврату ошибки «Доступ запрещен» на компьютер с Windows 98.

    • Параметр доступа к конфигурации DCOM мог быть изменен.

    • Если целевой компьютер работает под управлением Windows XP, значение Forceguest в разделе реестра HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Lsa может быть установлено, чтобы принудительно отключить гостевую учетную запись (значение равно нулю).

    (Хотя упоминается Windows XP, это также может относиться к Windows 7.)

  • Ошибка 0x800706BA при повторном запуске указывает на проблему брандмауэра:

    0x800706xx (ошибка DCOM RPC)
    Это часто происходит, когда брандмауэр настроен на удаленном компьютере. Вам нужно будет открыть соответствующие порты на брандмауэре, чтобы разрешить удаленное администрирование с помощью DCOM.

    Попробуйте включить исключение Удаленное администрирование в брандмауэре Windows на удаленном компьютере и посмотрите, поможет ли это. Для этого из командной строки выполните следующую команду в командной строке с повышенными привилегиями:

     netsh advfirewall firewall set rule group = "remote admin" new enable = yes
    


    Вы также можете найти DCOM, UAC, брандмауэр Windows и другие параметры, необходимые для удаленного доступа к WMI, в статье Подключение к WMI Удаленный запуск с Windows Vista на MSDN.

  • Кроме того, поскольку Samuel является недоменной учетной записью, вам необходимо предоставить этой учетной записи DCOM Удаленный доступ , Удаленный запуск и Удаленная активация ] на удаленном компьютере, как описано здесь .

7
ответ дан 4 December 2019 в 08:50
поделиться

Вы уверены, что можете устанавливать удаленные WMI-подключения к учетным записям без паролей?

Есть ряд вещей, которые такие учетные записи не могут делать (например, обмениваться файлами, удаленным рабочим столом). Попробуйте установить пароль и посмотрите, имеет ли это значение.

1
ответ дан 4 December 2019 в 08:50
поделиться

Возможно, вы захотите проверить параметры безопасности WMI на удаленном компьютере с Windows 7. Щелкните правой кнопкой мыши Компьютер > Управление > Службы и приложения > Управление WMI > вкладка Безопасность и убедитесь, что используемая вами учетная запись пользователя имеет необходимые разрешения.

1
ответ дан 4 December 2019 в 08:50
поделиться

Попробуйте добавить имя домена или компьютера перед именем пользователя (например, @"mshome\Samuel").

0
ответ дан 4 December 2019 в 08:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: