问题标签 [directorysearcher]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
56 浏览

active-directory - 如何更新 LDAP AD 中“usercert”属性的值

我有一个要求,我需要更新活动目录中存在的计算机的属性(“usercert”)中保存的值。

// 从 AD 中检索属性值

// 将新值更新为 AD 字符串 updatedText= "New Text";

我尝试了所有上述注释代码,但对我没有任何作用。你能帮我解决这个问题吗?

0 投票
2 回答
1430 浏览

c# - DirectorySearcher 异步使用 await

我正在使用 .net 4.7.2(不是核心)和 C#。

我需要想出一种方法来不阻止我当前的异步任务,并且我需要搜索用户作为这些任务的一部分。我之前已经完成了 DirectorySearcher 操作,所以我知道 AD 的附件和第一次搜索可能需要几秒钟,如果我尝试从现有的异步方法调用它,这将真正影响到齿轮。

我发现 DirectorySearcher 有一个“异步”属性。但我认为它不会采用异步模式。

当然,最后一行会抛出错误,因为 FindOne 不是异步方法。我已经知道,如果我删除 await 它将编译。但这并不能解决我从现有的等待方法调用它的问题。我需要找到一种在 AD 中进行异步搜索的方法......

有谁知道我怎样才能让它在.net框架(不是核心)中工作?

0 投票
1 回答
272 浏览

c# - System.DirectoryServices.DirectorySearcher 缓存改进或 FindAll() 过滤

我正在尝试提高对活动目录分层组结构的 searcher.FindAll() 调用的性能。

该代码获取所有用户组的 SearchResultCollection,然后根据搜索字符串过滤组。SearchResultCollection 集合中有大约 400 个组,过滤后的版本通常达到 40 个。在迭代调用期间,我没有看到内置缓存的任何好处(DirectorySearcher.CacheResults = True)。

例如,如果我连续调用下面的代码 20 次,执行时间几乎相同。

  1. 我已经看到此链接DirectorySearcher Filter并了解 DistinguishedName 不可用于 Searcher.Filter 属性中的通配符搜索(我已通过测试确认,我希望 DirectorySearcher 处理过滤)
  2. 默认情况下,DirectorySearcher 对象已启用缓存,但在这里似乎根本没有帮助(我将其设置为 True 无论如何)
  3. 文档指出,如果结果很大,DirectorySearcher 将决定不缓存,知道这个阈值是多少吗?

下面的代码每次执行 SearchResult 的所有 400 次迭代都会受到相同的惩罚。

为什么缓存没有提供任何改进?关于如何减少迭代所有这些我知道我不想要的组的惩罚的任何建议?

0 投票
1 回答
105 浏览

c# - 我可以仅使用 extensionAttribute4 创建 DirectorySearcher 过滤器吗?

我正在使用 DirectorySearcher,我想获取所有未设置 extensionAttribute4 的 AD 用户。

在这里,我正在使用返回所有 AD 用户的 DirectorySearcher,但我需要帮助我如何更改此 DirectorySearcher,使其返回未设置 extensionAttribute4 的那些 AD 用户。任何帮助将不胜感激。

0 投票
0 回答
185 浏览

powershell - ADUser 搜索:Get-ADUser 和 DirectorySearcher

使用 PowerShell,我正在尝试使用该属性获取Get-ADUserADUserLdapFilter帐户employeeid。我正在使用域的 GC 服务器作为源服务器以获得更快的结果。但是,我没有获得匹配的 ADUser 帐户。但是,我可以使用DirectorySearcher对象检索结果。请参考下面尝试过的代码片段,

我在这里想念什么?!任何帮助将不胜感激。


更新 1

我刚刚使用下面的代码验证了部分属性集 (PAS),但没有employeeid看到包含在列表中

有关更多背景信息,我正在运行“DirectorySearcher”代码块来搜索源代码并从加入受信任域mydomain.net的服务器运行它,例如,来自不同的森林。重要的是,调用 trust domain的 PAS CONTAINS。但是,如前所述,无法获取记录。W2012R2mycaller.netmycaller.net employeeidGet-ADUser

下面是在不同环境下观察到的结果截图,

获取 ADuser-and-DirectorySearcher-Results

现在,如果不是为了解决方案,如果至少有人能够重现这种行为,我会很高兴。

询问:

  1. 在我的例子中,

    DirectorySearcher$ldapcn = "GC://DC=mydomain,DC=net"

    对比

    Get-ADUser$Server_AD_GC = (Get-ADDomainController -Server $Domain | select -exp hostname) + ":3268"

    我希望两者都以类似的方式工作。我看到我没有为 指定主机,DirectorySearcher但为Get-ADUser. 这是要调查的事情吗?

0 投票
0 回答
111 浏览

active-directory - RefreshCache 方法未返回 tokenGroups 的完整列表

我创建了 2400 个安全组并成为所有这些安全组的用户成员。现在我正在尝试使用 DirectoryEntry.RefreshCache 方法获取用户所属的所有安全组。该方法仅返回 2050 个组。

我尝试了范围检索。像下面的东西。它仍然不起作用。

使用 RefreshCache 方法检索用户的所有安全组的最佳方法是什么?

0 投票
1 回答
417 浏览

c# - 无法从 Active Directory 读取所有用户 - [DirectoryServicesCOMException] MoveNext()

我的团队正在使用用 C# 编写的程序来读取特定 OU 中的所有用户。该程序的行为非常奇怪。有时它工作了几个星期,然后对我们的 AD 或任何其他相关组件没有任何大的更改,它会引发异常。然后它不工作了几个星期,一段时间后它又开始正常运行。

代码

例外

附加信息

  • 目标框架:.Net Framework 4.6.1(无附加库)
  • 该程序在域控制器上执行

我试过的

  • 我创建了一个循环来使用枚举器的 MoveNext() 函数,发现它将结果加载到特定元素然后崩溃
  • 它总是相同的元素
  • 在第一个异常之后,所有重试也都失败了
  • 启动它的用户是域管理员(但我也用企业管理员帐户尝试过,所以它可能不是权限问题)
  • 我已经删除了发生异常时应该读取的用户,但是在下一次运行时,为以前的用户引发了异常

我已经到了一个点,我对解决这个问题没有更多的想法。感谢您的支持。

0 投票
1 回答
43 浏览

ldap - DirectoryEntry 实例未在 LDAP 中配置

我不确定这是否是预期的行为,但我希望它会采取不同的行动。

运行以下代码后

执行查询时,正如我所料,我可以在 LDAP 上看到一个活动会话。

在 LDAP 机器上运行以下命令:

我可以在 LDAP 上看到一个活动会话:

但是当我们离开该using部分并且DirectoryEntry/DirectorySearcher被处理时,我希望会话将被关闭。当我再次运行 netstat 命令时,我仍然可以看到相同的活动会话。

会话没有在 LDAP 中处理有什么原因吗?这是一个已知的问题?

0 投票
1 回答
267 浏览

c# - Active Directory 组中有多个 ManagedBy 实体

是否可以将多个实体/个人列为 AD 组的经理?

我有一个使用 Exchange 创建的通讯组。ManagedBy从 Exchange 端查看时,该组具有多个实体。

当我使用DirectorySearcherAD 查询时,只显示一个条目ManagedBy,即第一个条目。

我可以ManagedBy用已知用户的字符串值更新,但使用类似下面的东西似乎不起作用。

代码片段 A:

提交更改会产生此屏幕截图中显示的结果:

保存更改时出错

该错误可能意味着我正在添加一个已经存在的值,其中包含来自“managerDn”的新值。清除值似乎证实了这一点。

多个managedBy条目是 Exchange 独有的吗?

0 投票
1 回答
128 浏览

asp.net - 在 asp .net、IIS 8 环境中使用目录服务出现未知错误 (0x80005000)

此处显示的代码发生错误。

我根据谷歌研究尝试了以下方法,但仍然存在错误

  1. 确保“LDAP”为大写
  2. 安装了 II6 肉库 6。

如果应用程序池或 IIS 重新启动,错误就会消失。但一天后,它又回来了。任何帮助表示赞赏。