C# 使用C修改LDAP PhoneNumber和IPPhone属性

C# 使用C修改LDAP PhoneNumber和IPPhone属性,c#,active-directory,ldap,C#,Active Directory,Ldap,我有一个.csv文件,文本文件中列出了EmployeeNumber、TelephoneNumber、IPPhone Number。我需要一种方法来循环遍历文本文件中的所有记录并修改LDAP中的2个电话属性。请帮助。这完全是令人沮丧的如果您正在使用.NET 3.5,或者您可以对其进行更新,请查看System.DirectoryServices.AccountManagement命名空间-使许多事情变得更简单 请仔细阅读:并查看.NET3.5中新类显示的所有属性 我推荐的另一个地方是——他有很多Ex

我有一个.csv文件,文本文件中列出了EmployeeNumber、TelephoneNumber、IPPhone Number。我需要一种方法来循环遍历文本文件中的所有记录并修改LDAP中的2个电话属性。请帮助。这完全是令人沮丧的

如果您正在使用.NET 3.5,或者您可以对其进行更新,请查看System.DirectoryServices.AccountManagement命名空间-使许多事情变得更简单

请仔细阅读:并查看.NET3.5中新类显示的所有属性

我推荐的另一个地方是——他有很多Excel表格,其中显示了所有AD/LDAP属性,在交互工具上可以找到这些属性,等等。非常有用

结合这两种资源,你应该能够做任何你需要做的事情

更新:如果无法更新到.NET 3.5,它实际上就像.NET 2上的service pack…,则必须执行以下步骤:

将CSV导入一个列表-我会使用免费库来实现这一点;CSVRecord将保存CSV文件中的三个字段 基于域或其子容器的搜索根创建DirectorySearcher类;查找正确的LDAP搜索筛选器以按EmployeeId查找用户

在列表中的条目上循环,并为每个条目循环

在目录中搜索该用户 如果找到:从搜索结果中获取DirectoryEntry并更新这两个属性 在该目录条目上调用.CommitChanges 我不认为有任何其他方法可以做到这一点,真的,没有神奇的方法可以一次选择所有用户,或者一次更新所有用户

更新2: 以下是您可以查看的一些资源:

关于这个主题的终极书籍:


能否提供一点代码片段。我从LDAP获取用户属性没有问题,只是无法改变我的想法,从.csv文件更新整个用户组。我也很感谢您的代表。顺便说一句,我使用的是.net 2.0。他们没有更新我们的服务器以使用.net 3.5,即使我们使用VS 2008进行编码。工具并不差-这个主题不是最容易掌握的,大家同意。查看我在帖子中添加的其他资源