我想更新多个对象并在 Active Directory 中的单个请求中提交更改以优化性能。有没有任何可能的方法或API可以用于此目的?
我探索了 System.DirectoryServices,但没有发现任何有用的东西。
不,那是不可能的。 AD 使用轻量级目录访问协议 (LDAP) 进行通信。您可以在此处阅读用于修改对象的 LDAP 规范:
ModifyRequest ::= [APPLICATION 6] SEQUENCE {
object LDAPDN,
changes SEQUENCE OF change SEQUENCE {
operation ENUMERATED {
add (0),
delete (1),
replace (2),
... },
modification PartialAttribute } }
请注意,虽然可以在同一请求中发送多个
add
、delete
和 replace
操作,但只能将这些操作应用于一个 object
。
您无法在单个请求中更新多个对象。
如果您遇到代码速度缓慢的问题,我写了一篇关于使用 AD 编程时提高性能的文章:Active Directory:更好的性能。您可能可以实施其中的一些内容来加快您正在做的事情。