日期:2015-03-14  浏览次数:2687 次

用C#中DirectoryEntry访问活动目录的问题

 

用DirectoryEntry访问活动目录时,DirectoryEntry对象的Path属性怎么确定呢

Path 属性唯一地标识网络环境中的此项。始终可以使用此 Path 检索此项。

设置 Path 将从目录存储区检索新项;它不更改当前绑定的项的路径。

与 DirectoryEntry 组件关联的类可与任何 Active Directory 域服务提供程序一起使用。当前的一些提供程序包括 Internet 信息服务 (IIS)、轻量目录访问协议 (LDAP)、Novell NetWare 目录服务 (NDS) 和 WinNT。

说明: 
标识提供程序(在“://”前面)的 Path 部分是区分大小写的。例如,“LDAP://”或“WinNT://”。

Path 属性的语法随提供程序不同而不同。一些常见的情况有:

WinNT
连接到计算机上的组。例如“WinNT://<域名>/<计算机名>/<组名>”。如果是连接到本地计算机,则为“WinNT://<计算机名>/<组名>”。
发现网络上的所有域。例如,“WinNT:”通过枚举此项的子级可以找到这些域。

LDAP
连接到域中的组。例如“LDAP://CN=<组名>, CN =<用户>, DC=<域组件>, DC=<域组件>,...”。

IIS
连接到 Web 目录。例如“IIS://LocalHost/W3SVC/1/ROOT/<Web 目录名>”。

若要使用 LDAP 绑定到当前域,请使用路径“LDAP://RootDSE”,然后获取默认命名上下文,并重新绑定该项。例如:

C#
String str = ent.Properties["defaultNamingContext"][0];
DirectoryEntry domain = new DirectoryEntry("LDAP://" + str);