gpt4 book ai didi

c# - DirectoryEntry 刷新杂项问题

转载 作者:太空宇宙 更新时间:2023-11-03 15:03:53 30 4
gpt4 key购买 nike

在代码中,我使用此代码将计算机帐户移动到另一个事件目录 OU 中。

DirectoryEntry eLocation = new DirectoryEntry("LDAP://" + DevicePath, ADAdmin, ADPass);
DirectoryEntry nLocation = new DirectoryEntry("LDAP://" + ADMoveOU, ADAdmin, ADPass);

eLocation.MoveTo(nLocation);
eLocation.CommitChanges();
eLocation.RefreshCache();
nLocation.Close();
eLocation.Close();

从这里代码返回所有好的计算机移动到另一个 OU。但是,我现在需要使用此代码为用户刷新数据。

DirectoryEntry Entry = new DirectoryEntry(Domain, ADUSER, ADpassword);
Entry.RefreshCache();
DirectorySearcher Search = new DirectorySearcher(Entry);
Search.Filter = string.Format("(&(objectCategory=computer)(cn={0}))", DeviceName);

问题是这段代码告诉我电脑没动实际上,我必须在移动和刷新之间等待大约 30 秒才能获得正确的事件目录数据。

所以,我不明白这是怎么回事。我什至刷新了缓存,为什么移动结果没有在移动后立即刷新?

最佳答案

我现在自己也遇到了这个问题——据我所知,Active Directory 本身似乎需要一些时间来处理将对象从一个容器/OU 移动到另一个容器/OU——更改似乎在 Active Directory 服务器本身上持续存在至少几秒钟。

一种解决方法是向对象添加一个自定义字段以指示它的存储位置 - 然后使用它来构建查询。

关于c# - DirectoryEntry 刷新杂项问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44717760/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com