1

我目前正在编写一个 PHP 脚本,该脚本将通过 LDAP 轮询 Active Directory 以挑选出修改过的对象(人/用户)。

uSNChanged当我有值时,我可以过滤,如下所示:

$previousUsn = '1234';
$ldapCon = ldap_connect('ldap-host');
$ldapBind = ldap_bind($ldapCon, 'ldap-user', 'ldap-password');
$sr = ldap_search($ldapCon, "ou=Users,dc=foo", "uSNChanged >= $previousUsn");

据此我应该能够检索highestCommittedUSN可用于脚本初始运行的属性。我一直在寻找如何使用 PHP 和 LDAP 来完成这项工作,但无济于事。

或者,随意提出完全不同的检索 AD 变化的方法。

4

3 回答 3

1

ldap_read(...)似乎可以解决问题:

function getHighestCommittedUsn() {
    ldap_bind(...);
    $sr = ldap_read($ldapCon, null, "(highestcommittedusn=*)", array("highestcommittedusn"));
    $rs = ldap_get_entries($ldapCon, $sr);

    return $rs[0]["highestcommittedusn"][0];
}
于 2012-04-18T14:47:13.250 回答
0

尝试在 ldap_search 调用中将搜索库(第二个参数)设置为"". 该属性位于名为 的伪对象上RootDSE

于 2012-04-16T15:46:39.810 回答
0

也许如果没有正确初始化 biffins 函数?嗯尝试更改 c_willygham 的变量类型

于 2012-04-21T00:02:09.983 回答