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

c# - C# 为 LDAP DirectorySearch 中的每个对象创建命名对象以插入 SQL 数据库

我创建了一个目录搜索器来从每个用户那里提取多个属性。

然后我枚举它们,并将 interger8 时间戳转换为标准日期/时间,并保存到 csv 文件

现在我需要为每个用户创建一个对象,其中包含每个结果中的字符串,我可以将其放入我构建的 SQL 命令中。其中对 SQL 的 LDAP 查询将被赋予name = FirstName 和 lastlogontimestamp = LastLogon 等等。

我尝试在我的第一个 foreach 中使用 IDictionary(类似于在此处找到的代码http://ideone.com/vChWD),但无法使其正常工作。我阅读了有关 IList 和反射的信息,但我不确定如何合并这些。

更新 我研究并找到了 ExpandoObjects 并尝试根据我在此处创建动态对象中看到的内容编写代码 但是我运行这个新代码我返回“employeenumber System.Collections.Generic.List`1[System.Dynamic.ExpandoObject]”

我显然在这里遗漏了一些东西,并且似乎无法解决问题所在。我什至可能会以错误的方式解决这个问题。基本上我需要做的就是从 Active Directory 中提取用户及其属性并放入 SQL 数据库表中。我已经想出了如何分别做这两个,但我不知道如何把它们放在一起。

0 投票
1 回答
721 浏览

c# - ActiveDirectory 用户远程控制选项卡的详细信息?

我试图弄清楚如何从用户属性的“远程控制”选项卡中专门获取一些活动目录详细信息。

远程控制选项卡截图

我可以使用类似于以下的代码找到其他详细信息:

但是我无法弄清楚远程信息的存储位置。通常我使用 ADSI Edit 并在修改属性时查找对属性的更改,但我没有注意到任何更改。谁能指出我正确的方向?

应该提一下,我的领域功能级别和森林功能级别都是2003。

0 投票
2 回答
865 浏览

c# - 多个 Guid 的 DirectorySearcher

我有 Active Directory 用户的 Guid 列表,我需要为特定报告加载这些用户的一组属性。为此,如果我们为每个 Guid 进行绑定,那么这将是一个代价高昂的绑定。无论是使用 DirectorySearcher,我们是否可以提供多个 Guid(比如 1000)作为过滤器并加载属性?

0 投票
2 回答
2422 浏览

vb.net - 在 VB.NET 中查询 LDAP。我有用户帐户,我想要用户所在的组列表

我知道 SAMAccountName,现在想用反映此用户在整个目录中的组成员身份的条目来填充组列表。这是我的开始,但我很难过:

我不知道如何遍历这个。请问,有什么指点吗?

0 投票
1 回答
407 浏览

c# - DirectorySearcher 适用于邮件,但不适用于 cn C#

我是法国人,所以请放纵我糟糕的英语:P

当我想通过 CN 针对 LDAPS 检索用户时遇到问题。

当我想通过邮件而不是 cn 检索用户时,此代码可以正常工作......不明白为什么。当我使用 ldp.exe 进行研究时,两者都很好,具有相同的搜索字符串!它只是在 C# 中不起作用,只是在 CN 中。

我真的不明白...用cn搜索结果为null,用mail搜索结果正常...><

如果有人可以帮助解决这个错误,那就太好了^^

0 投票
2 回答
9864 浏览

c# - ActiveDirectory DirectorySearcher:为什么 FindOne() 比 FindAll() 慢,为什么省略属性?

我有一个从 ActiveDirectory 检索一些信息的循环。事实证明这是一个很大的性能瓶颈。

此代码段(在执行 31 次的循环内)耗时 00:01:14.6562500(1 分 14 秒):

用此代码段替换它使其降至 00:00:03.1093750(3 秒):

结果完全相同,相同的属性以相同的顺序返回。我在另一个线程中发现了一些关于内存泄漏的信息,但他们没有提到性能(我在 .Net 3.5 上)。


以下实际上是一个不同的问题,但它提供了一些背景,说明我为什么首先要循环:

我想在一个查询中获取所有属性,但我无法让 DirectorySearcher 一次性返回所有想要的属性(它省略了 PropertiesToLoad 中指定的大约 30% 的属性(也尝试在构造函数中设置它)区别),我发现其他人也有同样的问题,这是他的解决方案(循环遍历它们)。当我像这样循环遍历它们时,使用 FindOne() 或 FindAll() 我确实得到了所有属性,但实际上它一切都感觉像是一种解决方法。

我错过了什么吗?


编辑:

似乎问题出在我获得第一个使用 DirectorySearcher 的 DirectoryEntry 的方式上。

这是导致 DirectorySearcher 只返回一些属性的代码:

仅用这一行替换了那一大口之后,DirectorySearcher 返回了所有属性并且不再需要循环:

现在只需不到 18 分之一秒即可获得 31 个条目的所有所需属性。因此,似乎同一个 DirectoryEntry 的两个不同实例会根据其构建方式给出不同的结果……感觉有点毛骨悚然!


编辑

使用JetBrains DotPeek查看实现。FindOne 函数的开头是这样的:

我的第一反应是啊!难怪......但后来我注意到了这个论点。FindAll 有一个接受布尔值的私有版本,这是 FindAll 的开始:

因此,这提供了更多的见解,但并没有真正解释太多。

0 投票
1 回答
1411 浏览

powershell - 尝试通过 powershell 从 AD 中提取计算机列表

因此,我试图将计算机列表从 AD 提取到 .csv 文件中。我正在尝试使用 powershell 提取 cn、description、distinguishedName、operatingSystem、whenCreated 和 whenChanged 字段。

我正在使用的代码是这样的:

现在,此代码确实使用列名的正确字段创建 .csv。但是它只提取目录中每台计算机的 cn 和描述。填充 .csv 时,所有其他字段均为空白

不知道代码中出了什么问题,因为我没有收到任何错误,非常感谢任何帮助。

附带说明一下,我正在运行 Windows 2008 R2 服务器并且无法在我的环境中运行 powershell 2.0 cmdlet,因为某些系统阻止我们能够配置 AD 来执行此操作。

0 投票
1 回答
1093 浏览

dns - 在全局目录中使用 DirectorySearcher 查找 DOMAIN\username

我有一个多域活动目录环境,需要根据 DOMAIN\username 查找用户。

以下代码非常适合按 SID 查找用户。

但现在我处于一种情况,我所拥有的只是 DOMAIN\username。

过滤器中有什么?

我考虑的一种方法是连接到特定域而不是全局目录并通过不合格的 SAMAccountName 进行搜索。但我的问题是我不知道如何从 DOMAIN 到 DC=Domain,DC=Org 或 domain.org。

当我在 Active Directory 用户和计算机中时,通过 DOMAIN\username 搜索整个目录似乎没有问题。幕后发生了什么?

0 投票
1 回答
2332 浏览

asp.net - 如何使用 LDAP 查找特定部门的用户列表

如何使用 DirectorySearcher 和 Filter/PropertiesToLoad 获取特定部门中所有用户的列表?

我知道如何使用用户名进行过滤并获取用户的部门名称,但我不知道如何指定部门并获取属于该部门的员工列表。

任何帮助表示赞赏!

例如

0 投票
1 回答
537 浏览

asp.net - 查找子组的成员和成员

如何使用 DirectorySearcher 和 Filter/PropertiesToLoad 获取特定组/部门内所有成员和(成员)子组的列表?

目前,我可以让该组返回其所有成员。但是,组内有子组,我也无法联系到这些子组中的成员。

这是我到目前为止所拥有的:

任何帮助表示赞赏!