问题标签 [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 回答
431 浏览

c# - DirectorySearcher 结果不同

我写了一个小应用程序来检查广告组成员。当我在我的电脑上执行以下代码时,它运行良好,SearchResult 包含“成员”属性,但是当我在服务器或另一台计算机上运行相同的 exe 时,“成员”属性丢失。usnchanged 和 usncreated 也会有所不同。我在每台电脑上使用相同的用户运行 exe。什么会导致这种情况?

0 投票
1 回答
1790 浏览

c# - DirectoryEntry 和域控制器

我们在 Powershell 中有一个脚本,用于操作 Active Directory。我现在用 C# 编写了它。我的同事说他们必须在 PS 中指定域控制器,否则可能会发生使用 DC A 读取并在 DC B 上写入的情况,这可能会导致问题。

如果我使用 DirectorySearcher 来查找条目并对其进行操作,我真的必须指定域控制器吗?或者根据定义,相同的域控制器是否是用于查找对象(DirectorySearcher)并保存它(CommitChanges)的用户?

我不这么认为,因为我只能在搜索部分(DirectorySearcher 的 DirectoryEntry 对象)中指定它,但不能在它被写回 AD 时指定它(CommitChanges)。因此,我认为相同的 DC 用于写入,就像用于读取的 DC 一样。

下面我有一个示例,我在其中搜索特定条目并更改属性。

0 投票
1 回答
2398 浏览

vb.net - VB.NET DirectorySearcher 不会检索具有空属性的 AD 用户

我正在使用此代码将用户从 AD 检索到 Windows 窗体上的 datagridview。只要没有任何属性为空,它就可以正常工作。

使用的代码部分:

试图与之抗争,但没有奏效。如果我在 AD 中找到用户并填写空白字段,则会检索到该用户。

请有人可以帮助我确定原因以及如何解决它。

有关信息...

我正在使用 Visual Studio 2010

.Net 3.5 +

非常感谢,

亚伦

0 投票
0 回答
862 浏览

c# - DirectorySearcher 按属性过滤?

我希望能够获得通讯组的所有“所有者”。这包括命名的 Group 属性managedBy以及作为msExchCoManagedByLink用户 DN 集合的 Exchange 属性。我可以managedBy毫无问题地设置 DirectorySearcher 过滤器,但我找不到有关如何添加适用于集合属性的过滤器的文档。

这是我现在拥有的过滤器:

userDn是一个参数并且被传入。

GroupProperty.ManagedBy只是“managedBy”字符串。

GroupProperty.CoManagedBy只是字符串“msExchCoManagedByLink”

我想避免编写一个“组缓存”来加载所有组和提到的两个属性字段(将所有者和共同所有者聚合到一个列表中),但现在我找不到解决这个黑客的好方法。

所以...有人知道如何按集合字段过滤msExchCoManagedByLink吗?

提前致谢!

0 投票
1 回答
211 浏览

c# - 域 A 中的用户可以成为域 B 中组的成员吗?

通过 C# 中的目录搜索器,我们希望从 Windows 中的 Active Directory 中获取有关用户的信息。我们想知道特定用户的所有组:

问题 1:域 A 中的用户是否可能是域 B 中定义的组的成员?

问题 2: Fores A 中的用户是否可能是 Forest B 中定义的组的成员?

0 投票
1 回答
1265 浏览

c# - 使用 C# 从 LDAP 中的 DL 检索成员

感谢 marc_s 回来。

我尝试了以下代码:

在这里,search.findAll抛出一个DirectoryCOMException说法

语法中的无效 dn

我需要获取属于分发列表的所有电子邮件地址。

我确实尝试实施以下链接中详述的方法,但不幸的是它不起作用: https ://forums.asp.net/t/1224607.aspx?Displaying+Members+in+a+Distribution+List

任何帮助表示赞赏。

谢谢。

0 投票
0 回答
2030 浏览

c# - 如何解决 LDAP 绑定错误“服务器无法运行”和“目录服务不可用”

我们有一个使用 LDAP 进行身份验证的应用程序。该应用程序使用 F5 以负载平衡配置部署在四台 MiddleWare 服务器上。尽管 AD 存储中有 8 个域控制器,但我们每天都会在所有 MW 服务器上继续收到错误,这似乎表明 ActiveDirectory 无法访问。主要由用户在高峰用户登录时间报告,但也发生在全天的其他时间。绑定到 LDAPS 与 LDAP 时,错误消息的文本略有不同,但堆栈跟踪是相同的。

错误信息:

  • (LDAPS) - “服务器无法运行。(0)”
  • (LDAP) - “目录服务不可用。(0)”

我们已经尝试了所有可能的配置选项,但错误仍然存​​在

  • 连接到安全/非安全 DC(端口 636/389)
  • 使用无服务器/无服务器绑定进行连接

经过所有研究后,我们正朝着实现代码更改的方向前进,该更改在向用户抛出错误之前在池中的每个 DC 上重试一次绑定操作。

其工作方式是当应用程序启动时,应用程序的目录服务访问组件将执行以下操作:

建立站点中所有域控制器的列表(以及任何相邻站点,如果愿意) 执行一系列测试以验证连接性(ping、389/3268/636 测试)。这也将确认它是 DC、GC 还是 RODC。执行一个简单的查询来验证目录服务是否正常工作并且身份验证是否正常工作。保存已知正常域控制器的列表,以及脱机域控制器的列表。

然后,我们在执行绑定时使用这些已知良好的服务器,将服务器嵌入到绑定路径中。如果发生异常并且是表明 dc 出现问题的类型之一(服务器无法运行、忙、超时等),我们将该 dc 添加到脱机列表并尝试使用其他 dc 之一进行操作。

这种方法是可行的选择吗?有什么取舍吗?您是否建议分析 Wireshark 数据有助于确定根本原因?它是否与 MW 服务器上的 TCP/UDP 端口不可用有关?

0 投票
1 回答
7620 浏览

c# - Active Directory:无法使用 DirectorySearcher 联系服务器

我不断收到错误无法联系服务器。当我尝试运行我的代码时:

我已经搜索了几个小时,但我仍然无法联系服务器。

注意:我将AD所在的域更改为域。

0 投票
0 回答
349 浏览

c# - C# - 为组成员过滤 DirectorySearcher

我的问题是关于过滤特定组的成员以不显示在用户列表中。到目前为止,这是我到目前为止过滤掉它们的代码:

这就是我现在尝试过滤它的方式。显然,我试图不在用户列表中显示管理员。但这对我来说不是一个好的解决方案,因为在最终状态下,我希望它过滤掉四个特定的 Active Directory 组。

这些是我要过滤掉的四个组:

  • 域管理员
  • 企业管理员
  • 政策创建者所有者
  • 架构管理员

现在我的问题:

有没有办法过滤掉groupID?这样这些组中的用户就不会显示在我的用户列表中。

我的想法是

我的问题的第二部分:是否有所有组 ID 的列表?

提前感谢帮助!

0 投票
1 回答
297 浏览

c# - 使用 C# FindAll 方法在 Active Directory 中查找特定用户时出错

我正在尝试在 Active Directory 中搜索特定用户,我正在使用 FindAll 方法。当我调用它时它给了我一个错误。我该如何解决这个问题?

这是我得到的例外:

System.DirectoryServices.dll 中出现“ System.Runtime.InteropServices.COMException ”类型的未处理异常