GlassFish 3.1.2 - validate-dcom завершается с ошибкой «Удаленный файл, C: не существует» (Централизованное администрирование с DCOM Windows) - PullRequest
1 голос
/ 05 марта 2012

ОС - Windows 2008 server R2 X 2 (межсетевой экран отключен на обеих машинах)

Я хочу воспользоваться GlassFish 3.1.2 Windows DCOM длянастроить связь между GlassFish DAS и удаленным узлом.Я успешно следовал инструкциям Байрона Невинса по использованию GlassFish 3.1.2 Утилита настройки DCOM

Однако у меня возникла проблема при проверке DCOM, следуя инструкциям в Руководстве GlassFish 3.1.2 - 2 Включение централизованного администрирования экземпляров сервера GlassFish

Когда я запускаю команду validate-dcom --passwordfile C: /Sun/AppServer/password.txt -v 192.168.0.80 Iполучить следующий вывод:

asadmin> validate-dcom --passwordfile C:/Sun/AppServer/password.txt -v 192.168.0.80
remote failure:
Successfully verified that the host, 192.168.0.80, is not the local machine as required.
Successfully resolved host name to: /192.168.0.80
Successfully connected to DCOM Port at port 135 on host 192.168.0.80.
Successfully connected to NetBIOS Session Service at port 139 on host 192.168.0.80.
Successfully connected to Windows Shares at port 445 on host 192.168.0.80.
The remote file, C: doesn't exist on 192.168.0.80 : Logon failure: unknown user name or bad password.

Файл пароля, password.txt, содержит одну запись:

AS_ADMIN_WINDOWSPASSWORD=my-windows-password

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

Также выполнил эту операцию, создав новый узел в консоли администратора, получил ту же ошибку:

enter image description here

Не могу понять, что идет не так или что я могу бытьотсутствует

Заранее спасибо

1 Ответ

1 голос
/ 17 апреля 2012

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

Так что после довольно большого количества мучительной и глубокой отладки я смог выяснить несколько вещей:

  1. Вы должны явно указать локального пользователя Windows, которого вы создаете с целью запуска glassfish, как в диалоге add-node, так и в подкоманде validate-dcom (опция -w), в противном случае он по умолчанию будет либо «admin» 'или пользователь DAS работает как.

  2. В validate-dcom есть ошибка, из-за которой он игнорирует все, что вы указываете в качестве тестовой директории. Независимо от того, что вы делаете, он всегда будет использовать C: \, что приведет к «отказу в доступе».

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

Что касается первой проблемы, вы, скорее всего, столкнетесь с ней, если ваши узлы не являются частью домена или вы используете локальную учетную запись. В Windows NT6 + есть новая политика безопасности по умолчанию, которая запрещает локальным пользователям повышать привилегии по сети, что приводит к сбою этого теста, обязательно учитывая, что запись в корень системного диска - это не то, что нельзя обойти без повышения прав.

Ранее я писал об этом, чтобы кто-нибудь наткнулся на него, если это необходимо: http://www.raptorized.com/2008/08/19/access-administrative-shares-on-server-2008vista/

Суть в том, что вам нужно перейти к следующему разделу реестра:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System

и создайте новый DWORD с именем LocalAccountTokenFilterPolicy со значением 1 .

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

Чтобы исправить это, вы также должны вступить во владение и предоставить пользователю локальной учетной записи полный контроль над следующим разделом реестра в дополнение к другим, описанным в Руководстве по администрированию HA:

HKEY_CLASSES_ROOT\CLSID\{76A64158-CB41-11D1-8B02-00600806D9B6}

После этого validate-dcom должен сообщить об успехе, и вы сможете добавить его в качестве узла и создать на нем экземпляры.

Надеюсь, это поможет, потому что кажущееся отсутствие активности Oracle по этому вопросу приводило в бешенство.

Я также менее чем доволен хакерской, некрасивой, небезопасной природой поддержки DCOM в Glassfish 3: (

...