Как отлаживать неудачные логины WMI

400
JohnEye

Я могу подключиться к целевому компьютеру с помощью wbemtest, но когда я пытаюсь подключиться с помощью приложения, использующего J-Interopте же учетные данные, соединение не удается. Я пытаюсь понять, почему. Я попытался использовать это руководство, чтобы включить трассировку на целевом компьютере, но в WMI-Activityкаталоге в журнале событий ничего не вижу, когда в соединении отказано.

Есть ли способ выяснить, почему не удается установить соединение? У меня есть доступ администратора к удаленному компьютеру. Это может быть связано с различными причинами, например с политиками безопасности, методом аутентификации, ...

0
У вас есть код ошибки для сбоя? harrymc 7 лет назад 0
Ответьте, пожалуйста . harrymc 7 лет назад 0
@harrymc: Извините, не заметил этого. Нет не знаю На самом деле проблема оказалась в том, что J-Interop не поддерживает IPv6 должным образом. Иногда он работает, но просто потому, что при неправильном пути кода иногда выбирается рабочая привязка к хосту. Здесь задействовано много проприетарной магии. JohnEye 7 лет назад 0

1 ответ на вопрос

1
Wes Sayeed

Вы не говорите, какое приложение вы используете, но это, скорее всего, проблема с разрешениями, а не проблема WMI (и это объясняет отсутствие ошибок WMI в журналах).

Вы говорите, что это wbemtestпрекрасно работает на цели, поэтому похоже, что ваша учетная запись имеет разрешения на целевой машине. Однако приложение, которое вы используете, может не предоставлять свои учетные данные целевому объекту при выполнении команд WMI. Это может быть учетная запись службы или учетная запись NetworkService вашего компьютера. Им не будут доверять автоматически. Он также может использовать нестандартный порт и поэтому блокируется брандмауэром удаленного хоста (хотя это маловероятно, если приложению не требуется агент на цели). Это также может быть проблемой с разрешениями DCOM.

Некоторые вещи, которые вы можете сделать для проверки на целевом компьютере:

ПРИМЕЧАНИЕ. Это для устранения неполадок. Пожалуйста, делайте это в контролируемой среде и не оставляйте компьютер таким!

  • Добавьте пользователя «Все» в группу локальных администраторов. Обратите внимание, что пользователь «Все» - это локальный участник безопасности, а не реальный пользователь, поэтому для успешного добавления вам нужно поиграть с областью действия в диалоговом окне «Добавить пользователей».
  • Измените локальную политику безопасности компьютера ( secpol.msc), чтобы добавить анонимных пользователей в группу «Все» (она находится в разделе «Локальные политики» -> «Параметры безопасности» -> «Доступ к сети»: разрешения «Все» применяются к анонимным пользователям).
  • Отключить брандмауэр.
  • Настройте безопасность DTC и безопасность COM (доступ к ним осуществляется через панель управления служб компонентов), чтобы разрешить доступ к сети и добавить полный контроль над группой «Все».
  • Также проверьте журналы безопасности на наличие запрещенных записей (хотя я понятия не имею, в каком контексте учетной записи они будут регистрироваться).
  • Если UAC включен на вашем ПК, убедитесь, что вы запускаете приложение от имени администратора. Это не должно иметь значения для цели, но вы никогда не знаете.

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

У меня еще не было времени проверить ваши предложения на тестирование, но щедрость скоро истекает, и вы были единственным, кто удосужился ответить, так что вы идете ;-) JohnEye 7 лет назад 0