При попытке настроить конфигурацию Glassfish в пакетном файле есть одна команда, которая работает при запуске непосредственно из командной строки, но с ошибкой при установке в пакетный файл Windows.Команда работает в командной строке, но сбой в пакетном файле
Команда:
call asadmin.bat create-auth-realm --classname com.sun.enterprise.security.auth.realm.ldap.LDAPRealm --property jaas-context="ldapRealm":directory="ldap\://domain.com\:389:base-dn=dc\=domain,dc\=com:group-base-dn=ou\=Groups,ou\=domain,dc\=com":search-bind-dn="CN\=username,OU\=Accounts,OU\=domain,DC\=com":search-bind-password="password":search-filter="(&(objectCategory\=user)(sAMAccountName\=%s))":group-search-filter="(&(objectCategory\=group)(member\=%d))" a-realm
При запуске в командной строке так же, как над ним завершается с ответом:
Command create-auth-realm executed successfully.
При запуске из пакетного файла точно так, как выше он терпит неудачу с ответом :
(member\ was unexpected at this time.
Обратите внимание, что экранирование некоторых символов равнозначно для Glassfish, не попытка экранирования символов для команды пакетного окна.
Я предполагаю, что при запуске в пакетном файле командный файл обрабатывает некоторые символы как специальные. Я попытался избежать скобок без везения.
Как эта команда может работать в пакетном файле !?
Этот ответ на 99% правильный. В этом есть небольшой шарик кривой, хотя я должен был фактически избежать символа% дважды. например %%%% d и %%%% s. Не знаю, почему. –
Это предположение (как я уже сказал, я не знаю, что такое стеклянная рыба), но, вероятно, как только ваша команда будет интерпретирована в вашем пакетном файле, а% передается asadmin.bat или в стеклянную рыбку, ее нельзя интерпретировать снова. –