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



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

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

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

这可能不是推荐的做法,但您可以使用计划的脚本执行作业每天结合 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();

您需要启用 LDAP 侦听器。

相关文档

最新更新