【发布时间】:2009-03-05 16:20:33
【问题描述】:
我尝试将 Human Resource DB 集成到 Active Directory。 一旦我使用 sql,获取所有人员和部门,然后写入广告。 但是如果一个部门建立了新的如何检查活动目录中是否存在或新的,也是人也是电脑。
【问题讨论】:
我尝试将 Human Resource DB 集成到 Active Directory。 一旦我使用 sql,获取所有人员和部门,然后写入广告。 但是如果一个部门建立了新的如何检查活动目录中是否存在或新的,也是人也是电脑。
【问题讨论】:
这篇文章应该会有所帮助: http://www.codeproject.com/KB/IP/LDAP_Using_VBnet.aspx
我的想法是你会创建一个人员列表 (OU),一旦你有了这样的列表,创建一个函数来检查列表以查看特定人员是否存在是非常简单的。
因此,如果人不存在 -- CreatePerson()
否则,如果该人存在--UpdatePerson()
【讨论】:
查看System.DirectoryServices.AccountManagement 命名空间。您可能还想查看帐户管理sample application 的想法。要检查 OU,您可以使用 System.DirectoryServices 根据 OU 的路径(或查找它的搜索器)实例化 DirectoryEntry。如果不存在,则需要获取父 OU 的 DirectoryEntry 对象,然后使用 Invoke 创建一个新的 OrganizationUnit 以调用 ADSI create 方法。
【讨论】:
感谢 JaredPar 的回答。 给我 vb.net 中的示例代码。 我找不到示例代码。
同时使用上面的代码创建 ou 试试
objOU = objADAM.Children.Add(strOU, "OrganizationalUnit")
objOU.Properties("description").Add(dr.GetValue(2).ToString)
objOU.CommitChanges()
Catch de As Exception
Console.WriteLine("Error: Create failed.")
Console.WriteLine(" {0}", de.Message)
Return
End Try
【讨论】: