我有一个带有EmployeeNumber,TelephoneNumber,IPPhone Number的.csv文件在文本文件中列出我需要一种方法来循环文本文件中的所有记录并修改LDAP中的2个手机属性请帮忙。这完全令人沮丧
答案 0 :(得分:4)
如果您正在使用.NET 3.5(或者您可以更新它),请查看System.DirectoryServices.AccountManagement
命名空间 - 使很多事情变得更容易。
阅读它:Managing Directory Security Principals in the .NET Framework 3.5并查看.NET 3.5中新UserPrincipal
类所显示的所有属性。
我推荐的另一个地方是Richard Mueller's web site - 他有很多显示所有AD / LDAP属性的Excel工作表,您可以在其中找到的交互式工具,等等。非常实用!
结合这两种资源,您应该能够做任何你需要做的事情!
更新:如果您无法更新到.NET 3.5(这实际上就像.NET 2之上的服务包......),您必须执行以下步骤:
List<CSVRecord>
- 我会使用免费的FileHelpers库来执行此操作;您的CSVRecord
将保留CSV文件中的三个字段根据您的搜索根(您的域或其子容器)创建一个DirectorySearcher
类;找到正确的LDAP搜索过滤器,以便按EmployeeId
循环列表中的条目以及每个条目
DirectoryEntry
抓取SearchResult
并更新两个属性.CommitChanges()
DirectoryEntry
我认为没有其他方法可以做到这一点 - 没有神奇的方法可以一次选择所有用户,或者一次更新所有用户。
更新#2:
以下是您可以查看的一些资源:
和关于这个主题的终极书:
Joe Kaplan / Ryan Dunn: The .NET Developer's Guide to Directory Services Programming
alt text http://ecx.images-amazon.com/images/I/512V652XBSL._SL500_AA300_.jpg