如何使用vb.net检查活动目录中是否存在?

时间:2009-03-05 16:20:33

标签: vb.net active-directory

我尝试将人力资源数据库集成到Active Directory。 一旦我使用sql,获取所有人和部门,然后写入广告。 但是如果一个部门在活动目录中建立了新的如何检查是存在还是新的,那么人也是计算机。

3 个答案:

答案 0 :(得分:1)

这篇文章应该会有所帮助: http://www.codeproject.com/KB/IP/LDAP_Using_VBnet.aspx

我的想法是你会创建一个人员列表(OU),一旦你有这样一个列表,创建一个函数来检查列表是否存在特定的人是非常简单的。

因此,如果该人不存在 - CreatePerson()

否则,如果此人存在 - UpdatePerson()

答案 1 :(得分:0)

查看System.DirectoryServices.AccountManagement命名空间。您可能还想查看帐户管理sample application以获取相关信息。要检查OU,您可以使用System.DirectoryServices根据OU的路径(或搜索者找到它)来实例化DirectoryEntry。如果它不存在,则需要获取父OU的DirectoryEntry对象,然后使用Invoke创建一个新的OrganizationUnit以调用ADSI create方法。

答案 2 :(得分:0)

感谢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