2016-12-06 2 views
0

Я спорил с чем-то я как ожидаюсь, буду просто ....Баша поиск LDAP - переменный в качестве фильтра

Я хочу для поиска менеджера пользователей из LDAP, а затем получить менеджер электронной почты и имя Сэма.

я ожидал, чтобы быть в состоянии получить сп для менеджера из LDAP, как это:

manager=$(/usr/bin/ldapsearch -LLL -H ldap://company.ads -x -D [email protected] -w password -b ou=employees,dc=company,dc=ads sAMAccountName=employee1 | grep "manager:" | awk '{gsub("manager: ", "");print}' | awk 'BEGIN {FS=","}; {print $1, $2 }') 

, что дает мне сп так:

CN=manager,\ Surname 

Теперь, когда я запускаю другой запрос, как это:

/usr/bin/ldapsearch -LLL -H ldap://company.ads -x -D [email protected] -w password -b ou=employees,dc=company,dc=ads $manager 

Я получаю плохой фильтр поиска (-7) echo копия команды, вставьте ее, я получаю запись обратно ... .

Ive попробовал несколько вариантов на этом, может ли кто-нибудь увидеть, что им не хватает?

Спасибо.

ответ

1

Поскольку есть пробел в $manager, вам нужно процитировать его, чтобы он не разбивался на несколько аргументов.

/usr/bin/ldapsearch -LLL -H ldap://company.ads -x -D [email protected] -w password -b ou=employees,dc=company,dc=ads "$manager" 

В общем, лучше всегда цитирую ваши переменные, если вы специально не хотите, чтобы разбить на слова.

Вам также нужно удалить обратную косую черту \ из записи LDAP. Обратные косые черты предназначены для экранирования буквенных пространств в сценариях, они не должны использоваться в данных, потому что они не обрабатываются при расширении переменных.

+0

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

+0

Действительно ли '$ manager' действительно содержит эту обратную косую черту? Обратные косые черты не обрабатываются при расширении переменных, поэтому они будут отправлены буквально в качестве фильтра. – Barmar

+0

да, он находится в переменной, он возвращается из объявления, когда я получаю CN, поэтому кажется, что моя проблема - это \ –

Смежные вопросы