我正在尝试创建仅引入新创建/更新的用户的LDAP过滤器。我正计划将这项工作安排为每小时运行一次。因此,我将每小时从AD新建/更新用户到servicenow。
我尝试使用(modifytimestamp)
方法,但是Zulu日期是硬编码的。如何使其每小时过滤一次?我的意思是,过滤器应为(modifyTimeStamp >=(now - 1hr))
(&(objectClass=inetOrgPerson)(!(renaccountsuspended=1))(modifyTimeStamp>=20190418123800Z))
答案 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侦听器。