Imports LzmTW.DirectoryServices ''' <summary> ''' ldapPath专为简化AD域组织单元、用户、计算机、网络打印机的节点管理而设计。 ''' 对于一个确定的域,ldapPath仅仅关心关键标识部分,即(CN|OU=...)集合。 ''' 在容器中管理各个节点以及在导入导出节点集合时,ldapPath简洁明了。 ''' 此为示例。示例后贴出主要代码,全部代码计划以资源下载提供。 ''' ''' 仅供参考。水如烟(http://www.cnblogs.com/LzmTW,http://blog.csdn.net/lzmtw) ''' 20090309 ''' </summary> Public Class LdapPathDemo Public Sub Test1() Dim ldap As New ldapPath("www.csdn.net", True) '包含主机 Console.WriteLine(ldap.ShortDomainController) '域csdn.net的主机 'www '或 ldap = New ldapPath("csdn.net", False) '不含主机 ldap.ShortDomainController = "www" '置主机 ldap.Path = "CN=水如烟,OU=VB,OU=NET,OU=CSDN用户" Console.WriteLine(ldap.Path) '当前节点路径 'LDAP://www.csdn.net/CN=水如烟,OU=VB,OU=NET,OU=CSDN用户,DC=csdn,DC=net ldap.Name = "lzmtw" '更改当前节点名 Console.WriteLine(ldap.Path(ldapType.IncludeDomainName)) '不含主机的节点路径 'LDAP://csdn.net/CN=lzmtw,OU=VB,OU=NET,OU=CSDN用户,DC=csdn,DC=net ldap.ParentDistinguishedName = "OU=C#,OU=NET,OU=CSDN用户" '更改容器路径 Console.WriteLine(ldap.Path(ldapType.OnlyLocation)) '只含关键标识部分的节点路径 'LDAP://CN=lzmtw,OU=C#,OU=NET,OU=CSDN用户,DC=csdn,DC=net ldap = ldap.Parent.Parent.Parent '第三级容器实例 Console.WriteLine(ldap.Path) 'LDAP://www.csdn.net/OU=CSDN用户,DC=csdn,DC=net Console.WriteLine(ldap.IsRoot) '是否为根 'False ldap = ldap.Parent '再上一级 Console.WriteLine(ldap.Path) 'LDAP://www.csdn.net/DC=csdn,DC=net Console.WriteLine(ldap.IsRoot) '是否为根 'True End Sub Public Sub Test2() '节点关键标识在不同域中的传递 Dim ldapForDomain1 As New ldapPath("www.csdn.net") ldapForDomain1.Path = "CN=水如烟,OU=VB,OU=NET,OU=CSDN用户" 'ldapForDomain1 .Path 为LDAP://www.csdn.net/CN=水如烟,OU=VB,OU=NET,OU=CSDN用户,DC=csdn,DC=net Dim ldapForOther As New ldapPath("www.cnblogs.com") ldapForOther.Path = ldapForDomain1.Path Console.WriteLine(ldapForOther.Path) 'LDAP://www.cnblogs.com/CN=水如烟,OU=VB,OU=NET,OU=CSDN用户,DC=cnblogs,DC=com '或 ldapForOther.Path = ldapForD