Есть ли способ экспортировать только недавно созданных / измененных пользователей из LDAP каждый час? - PullRequest
0 голосов
/ 03 июня 2019

Я пытаюсь создать фильтр LDAP, который вводит только недавно созданных / обновленных пользователей. Я планирую планировать эту работу каждый час. Итак, я буду получать вновь созданных / обновленных пользователей из AD для обслуживания каждый час.

Я пытался использовать метод (modifytimestamp), но дата зулу была жестко запрограммирована. Как заставить его фильтроваться каждый час? Я имею в виду, фильтр должен быть (modifyTimeStamp >=(now - 1hr))

(&(objectClass=inetOrgPerson)(!(renaccountsuspended=1))(modifyTimeStamp>=20190418123800Z))

1 Ответ

0 голосов
/ 05 июля 2019

Это, вероятно, не рекомендуемая практика, но вы можете использовать запланированное задание на выполнение скрипта, чтобы обновлять фильтр в конфигурации ldap ou каждый день в сочетании с атрибутом whenChanged ldap.Примерно так может быть (не проверено):

Запланированная работа каждый день:

var gr = new GlideRecord('ldap_ou_config');
gr.get('name','Users'); //or whatever your filter is uniquely named
var curFilter = gr.filter;
//(&(objectClass=person)(whenChanged>=20190704000000.0Z)(sn=*)(!(objectClass=computer))(!(userAccountControl:1.2.840.113556.1.4.803:=2)));
var curDate = curFilter.substr(curFilter.indexOf('whenChanged>=') + 13,8);
var today = new GlideDateTime().toString().split(' ')[0].split('-').join('');
curFilter = curFilter.replace(curDate, today);
gr.filter = curFilter;
gr.update();
...