Назад | Перейти на главную страницу

Проблема с удаленным подключением WMI в Windows Server 2008 R2

Я только что сделал чистую установку Windows Server 2008 R2 (x64). У меня есть приложение, которое общается с сервером с помощью удаленной связи DCOM и запрашивает некоторые объекты WMI. Все в порядке, пока я использую учетную запись администратора для обмена данными через WMI.

Это просто не работает, когда я добавляю нового пользователя в группу администраторов (выбирая пользователя в качестве администратора в графическом интерфейсе создания нового пользователя). Я предоставил пользователю права на удаленный доступ DCOM (используя http://jintegra.intrinsyc.com/support/com/doc/remoteaccess.html), а также разрешения на доступ к WMI (используя http://www.poweradmin.com/help/enableWMI.aspx). Я также нашел раздел реестра renegade на Server 2008 R2 и сделал вновь созданного пользователя владельцем и предоставил все права (используя http://www.opennms.org/wiki/WmiConfiguration#Windows_2008_R2).

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

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

Я даже не знаю, какая служба не дает мне доступа. Кто-нибудь раньше занимался этим вопросом? Если у вас есть быстрый ответ, это было бы здорово, в противном случае расскажите мне, как правильно читать журналы безопасности или какой-либо другой журнал, чтобы узнать, какая служба запрещает мне доступ.

Кроме того, все 3 брандмауэра, домен / общедоступный / частный отключены.

Огромное спасибо!!

Вам также может потребоваться установить ACL для объекта, который вы пытаетесь запросить. Видеть http://msdn.microsoft.com/en-us/library/aa374872%28v=vs.85%29.aspx

Раньше мне приходилось делать это для доступа к службам MS, журналам событий и т. Д.

РЕДАКТИРОВАТЬ:

Вкратце, вам может потребоваться установить ACL для объектов WMI, к которым вы пытаетесь получить доступ, используя административную учетную запись, прежде чем вы сможете получить к ним доступ через непривилегированную учетную запись.

Вот как я настроил это в нашей среде:

Настроить DCOM

  • На управляемом сервере нажмите кнопку Пуск, выберите команду Выполнить, введите DCOMCNFG и нажмите кнопку ОК.
  • В диалоговом окне «Службы компонентов» разверните «Службы компонентов», «Компьютеры», затем щелкните правой кнопкой мыши «Мой компьютер» и выберите «Свойства».
  • В диалоговом окне «Свойства моего компьютера» перейдите на вкладку «Безопасность COM».
  • В разделе «Разрешения на запуск и активацию» щелкните «Изменить ограничения».
  • В диалоговом окне «Разрешение на запуск» выберите «Распределенные пользователи COM». В столбце «Разрешить» в разделе «Разрешения для пользователя» выберите «Удаленный запуск», выберите «Удаленная активация» и нажмите «ОК».
  • В разделе «Разрешения доступа» нажмите «Изменить ограничения».
  • В диалоговом окне «Разрешение доступа» выберите «Пользователи распределенного COM». В столбце «Разрешить» в разделе «Разрешения для пользователя» выберите «Удаленный доступ» и нажмите «ОК».
  • Добавьте учетную запись пользователя в группу пользователей Distributed COM в разделе «Управление компьютером», «Локальные пользователи» и «Группы» на сервере, которым нужно управлять.
  • Добавьте учетную запись пользователя в группу «Пользователи журнала производительности» в разделе «Управление компьютером», «Локальные пользователи» и «Группы» на сервере, которым нужно управлять.

Настроить WMI

  • На управляемом сервере нажмите кнопку Пуск, выберите команду Выполнить, введите wmimgmt.msc и нажмите кнопку ОК.
  • В дереве консоли щелкните правой кнопкой мыши элемент управления WMI и выберите команду Свойства.
  • Щелкните вкладку Безопасность.
  • Выберите корневое пространство имен и нажмите Безопасность.
  • В диалоговом окне «Безопасность» нажмите «Добавить».
  • В диалоговом окне «Выбор пользователей, компьютеров или групп» введите учетную запись пользователя. Нажмите кнопку «Проверить имена», чтобы подтвердить ввод, а затем нажмите «ОК».
  • В диалоговом окне «Безопасность» в разделе «Разрешения» выберите «Включить учетную запись» и «Включить удаленное управление» для учетной записи пользователя.
  • Убедитесь, что разрешения распространяются на все подпространства имен.

Многое из вышеперечисленного можно сделать (автоматизировать) с помощью групповых политик.

Теперь, чтобы установить ACL для служб, вы можете сделать что-то вроде:

sc sdshow SCMANAGER

... чтобы получить ACL для диспетчера служб. Это позаботится о доступе к большинству служб Windows. Затем вы захотите добавить ACL для учетной записи пользователя сверху, который будет выглядеть примерно так:

sc sdset SCMANAGER D: (A ;; CC ;;; AU) (A ;; CCLCRPRC ;;; IU) (A ;; CCLCRPRC ;;; SU) (A ;; CCLCRPWPRC ;;; SY) (A ;; KA ;;; BA) (A ;; CCLCRPRC ;;;S-1-5-21-000000000-0000000000-0000000000-0000) S: (AU; FA; KA ;;; WD) (AU; OIIOFA; GA ;;; WD)

... где жирным шрифтом выделен UID учетной записи пользователя, выполняющей запрос.

Журналы событий работают немного по-другому, но вы можете использовать wevtutil, чтобы установить для них ACL. У других объектов также могут быть разные способы их установки.

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