有没有办法每小时仅从LDAP导出新创建/修改的用户?

时间:2019-06-03 07:55:39

标签: ldap servicenow

我正在尝试创建仅引入新创建/更新的用户的LDAP过滤器。我正计划将这项工作安排为每小时运行一次。因此,我将每小时从AD新建/更新用户到servicenow。

我尝试使用(modifytimestamp)方法,但是Zulu日期是硬编码的。如何使其每小时过滤一次?我的意思是,过滤器应为(modifyTimeStamp >=(now - 1hr))

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

2 个答案:

答案 0 :(得分:0)

这可能不是推荐的做法,但是您可以每天使用计划的脚本执行作业与whenChanged ldap属性一起更新ldap ou配置上的过滤器。可能是这样(未经测试):

每天安排的工作:

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();

答案 1 :(得分:0)

您需要启用LDAP侦听器。

Relevant documentation