Adp20050314:一些名词Adp20050312:一些名词
此时我们将使用基于COM的ADSI来写程序。
如果您对于COM的使用和概况不是很了解可以…可以参考的东西太多了哈。
OK,我们不需要了解COM的实现机制,我们需要明白的是它提供了一种封装,为程序之间的通信提供一种相对独立的方式。我们在使用COM时候,通过它提供的接口来访问其中数据。
AdsPath:我们要连接一个AD服务,需要提供这样一个string。就像我们要访问google时需要在地址栏中输入http://www.google.com 一样。这个地址将在下面仔细说明。
一个AdsPath类似于这样:
LDAP://CN=John Doe,CN=Users, DC=coppersoftware,DC=com
这个地址信息得到了什么?
Gets the directory object named John Doe in the Users common name container in the coppersoftware.com domain.
得到了一个coppersoftware.com域下面用户组中叫John Doe的对象。
具体这个地址的表示格式如何,我们下面讨论。
LDAP:[//hostname[:portnumber][/distinguishedname]]
GC:[//hostname[/distinguishedname]]
WinNT:[//domainname[/computername[/objectname[,classname]]]]
WinNT:[//domainname[/objectname[,classname]]]
WinNT:[//computername[,computer]]
Distinguished Name and Relative Distinguished Name:
LDAP://CN=John Doe,CN=Users, DC=coppersoftware,DC=com 是一个Distinguished Name,它可以完全确定一个AD对象。
CN=John Doe这就是一个Relative Distinguished Name,它描述了对象的某一属性。我来理解大概是一个或多个RDN组成一个DN,当然这样不确切。
在这里需要注意的一点是,RDN中的重名问题。这句话这样说的:the RDN of an object is unique within its container 。意思就是说一个对象的RDN只在它的容器中唯一。类似于我们的文件夹,它是一个文件的容器,那某一文件夹中的文件不能重名,但两个不同文件夹中可以存在相同名称的文件。但是路径确保了他们的唯一性,就像DN一样。在AdsPath中的逗号是一种分级符号,类似于我们windows中路径的“\”linux中的“/”… 但是它以右为父单位这和操作系统的文件路径相反。
Naming Attributes:
让我们来看看上面的CN、DC..含义是什么?
CN 意思是 common name
DC 意思是 Domain component
我们还会遇到:
OU 意思是Organizational-Unit
等等,此名称属性也确保了同样的数值不会冲突。我们可以参看上面写过的两个程序的显示结果来理解此名称。
明白了如何表示一个AD对象,我们可以开始访问它了。