如果在 Active Directory 中发生绑定,usn 会增加吗?

Does usn increases if a bind happens in Active Directory?

Usingg ldp.exe 实用程序,我已使用 windows 框的管理员帐户连接到 LDAP。 查看 ==> CN=testing test,OU=AutomationQA_OU_2,DC=adb,DC=fed,DC=xyz,DC=com 的树给出:

distinguishedName: CN=testing test,OU=AutomationQA_OU_2,DC=adb,DC=fed,DC=xyz,DC=com; 
userPrincipalName: testing@adb.fed.xyz.com; 
uSNChanged: 34251; 
uSNCreated: 34246; 

然后我做一个绑定

res = ldap_bind_s(ld, NULL, &NtAuthIdentity, NEGOTIATE (1158)); // v.3
    {NtAuthIdentity: User='testing'; Pwd=<unavailable>; domain = 'adb'}
Authenticated as: 'ADB\testing'.

然后又查了usn。它增加了

distinguishedName: CN=testing test,OU=AutomationQA_OU_2,DC=adb,DC=fed,DC=xyz,DC=com; 
userPrincipalName: testing@adb.fed.xyz.com; 
uSNChanged: 34252; 
uSNCreated: 34246;

然后我重复上述步骤,即再次执行 bind.but 这次当我尝试获取 uSNChanged 号码时,我看到它没有增加...

第一次绑定用户只会增加usn号吗?在绑定的情况下如何处理 usn 号码更改​​。

有人可以解释一下吗?

USN 将在您用于身份验证的帐户上更改。

USN 仅在修改帐户时发生变化。当您进行身份验证时,lastLogon 属性会更新,因此帐户已更改,因此 USN 也会更新。

凭据通常会自动缓存,因此第二次执行相同的操作将使用与第一次尝试相同的访问令牌,并且不会算作第二次登录。所以 lastLogon 不会更新,USN 也不会改变。

您绑定的帐户的 USN 不会更改。因此,如果您绑定的帐户与您用于验证的帐户相同,您将看到 USN 没有改变。