|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » Любой язык - [решено] Bash ldapsearch дата whencreated в виде переменной |
|
Любой язык - [решено] Bash ldapsearch дата whencreated в виде переменной
|
Старожил Сообщения: 415 |
Профиль | Отправить PM | Цитировать
Всем привет!
У меня есть bash скрипт, который выгружает пользователей из Active Directory с помощью ldapsearch. Скрипт
#!/bin/bash
source /home/myproject/scripts/config.sh #-----------------------------------LDAP QUERY---------------------------------- echo "start ldapsearch" #BTS ldapsearch, calculate and curl to dashboard ldapsearch -x -H ldap://$ad -D $aduser -w $adpassword -b 'OU=Users,OU=Test,DC=sec,DC=local' '(&(objectCategory=person)(objectClass=user) (!(userAccountControl:1.2.840.113556.1.4.803:=2))(whencreated<=20240520000000.0Z))' | grep 'mail: ' | cut -d" " -f2 > ./users.txt Этот скрипт использует переменные $ad, $aduser, $adpassword с другого файла config.sh для подключения к Active Directory и вытаскивает только включенных пользователей, которые были созданы до 20.05.2024. Теперь стоит задача - перенести дату 20240520000000.0Z в config.sh, чтобы не менять ее постоянно во всех скриптах и дёргать дату в виде переменной в этот скрипт. Если я подправлю LDAP-фильтр вот так (whencreated<=$date) то это не работает. Никаких ошибок и пользователи просто не выгружаются. Видимо скрипт так и передает в запросе $date а не дату из файла config.sh Вопрос, как это сделать? Или это не реально внустри LDAP-фильтра подставлять переменную? |
|
Отправлено: 13:34, 15-08-2024 |
Старожил Сообщения: 415
|
Профиль | Отправить PM | Цитировать $date - подумал, что это зарегистрированная команда и ее нельзя использовать и поменял $date на другое имя - тоже не работает
|
Отправлено: 13:49, 15-08-2024 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Старожил Сообщения: 415
|
Профиль | Отправить PM | Цитировать Нашел решение - нужо было указать переменную в одинарных кавычках (whencreated<='$date')
|
Отправлено: 14:24, 15-08-2024 | #3 |
Ветеран Сообщения: 4393
|
Профиль | Отправить PM | Цитировать Попробуйте сначала формировать строку поиска, а после её передавать в ldapsearch
Цитата NickM:
Цитата dahiko:
|
||
Отправлено: 14:27, 15-08-2024 | #4 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Любой язык - [решено] BASH+Ldapsearch - поиск включенных и отключенных учетных записей | dahiko | Скриптовые языки администрирования Windows | 5 | 17-01-2022 14:01 | |
CMD/BAT - [решено] Реализация функций длины переменной, выделение подстроки с параметрами в переменной. | NiOl | Скриптовые языки администрирования Windows | 7 | 31-01-2019 19:58 | |
CMD/BAT - [решено] Сравнение переменной цикла со строковой переменной | NickM | Скриптовые языки администрирования Windows | 2 | 17-01-2017 10:28 | |
CMD/BAT - [решено] В переменной содержится имя переменной | opravdin | Скриптовые языки администрирования Windows | 3 | 28-01-2013 11:11 | |
Прочее - BASH | zelo | Общий по Linux | 3 | 04-02-2008 10:19 |
|