访问活动目录验证账号密码
- 格式:docx
- 大小:15.00 KB
- 文档页数:3
活动⽬录介绍微软在Windows NT Server 4.0中就已经贯彻了⽬录服务的思想。
NT的"域(domain)"的概念是⽬录服务的⼀个基本单元。
"⼀次登录,Single Logon"在Windows NTServer 的环境下有了具体的应⽤,⽐如Internet Information Server、Exchange Server、SQL Server等都可以与Windows NT Server的账号验证集成起来,⽤户⼀次登录就可以获得Web、Email和数据库等多种多样的⽹络服务。
Windows 2000 Server在Windows NT Server 4.0的基础上,进⼀步发展了"活动⽬录(Active Directory)"。
活动⽬录充分体现了微软产品的"ICE",即集成性(Integration),深⼊性(Comprehensive),和易⽤性(Ease of Use)等优点。
活动⽬录是⼀个完全可扩展,可伸缩的⽬录服务,既能满⾜商业ISP的需要,⼜能满⾜企业内部⽹和外联⽹的需要。
活动⽬录的由来 活动⽬录是从⼀个数据存储开始的。
它采⽤的是Exchange Server的数据存储,称为:Extens ible Storage Service (ESS)。
其特点是不需要事先定义数据库的参数,可以做到动态地增长,性能⾮常优良。
这个数据存储之上已建⽴索引的,可以⽅便快速地搜索和定位。
活动⽬录的分区是"域(Domain)",⼀个域可以存储上百万的对象。
域之间还有层次关系,可以建⽴域树和域森林,⽆限地扩展。
在数据存储之上,微软建⽴了⼀个对象模型,以构成活动⽬录。
这⼀对象模型对LDAP有纯粹的⽀持,还可以管理和修改Schema。
Schema包括了在活动⽬录中的计算机、⽤户和打印机等所有对象的定义,其本⾝也是活动⽬录的内容之⼀,在整个域森林中是唯⼀的。
活动目录(Active Directory)系列之一:为什么我们需要域对很多刚开始钻研微软技术的朋友来说,域是一个让他们感到很头疼的对象。
域的重要性毋庸置疑,微软的重量级服务产品基本上都需要域的支持,很多公司招聘工程师的要求中也都明确要求应聘者熟悉或精通Active Directory。
但域对初学者来说显得复杂了一些,众多的技术术语,例如Active Directory,站点,组策略,复制拓扑,操作主机角色,全局编录….很多初学者容易陷入这些技术细节而缺少了对全局的把握。
从今天开始,我们将推出 Active Directory系列博文,希望对广大学习AD的朋友有所帮助。
今天我们谈论的第一个问题就是为什么需要域这个管理模型?众所周知,微软管理计算机可以使用域和工作组两个模型,默认情况下计算机安装完操作系统后是隶属于工作组的。
我们从很多书里可以看到对工作组特点的描述,例如工作组属于分散管理,适合小型网络等等。
我们这时要考虑一个问题,为什么工作组就不适合中大型网络呢,难道每台计算机分散管理不好吗?下面我们通过一个例子来讨论这个问题。
假设现在工作组内有两台计算机,一台是服务器Florence,一台是客户机Perth。
服务器的职能大家都知道,无非是提供资源和分配资源。
服务器提供的资源有多种形式,可以是共享文件夹,可以是共享打印机,可以是电子邮箱,也可以是数据库等等。
现在服务器 Florence提供一个简单的共享文件夹作为服务资源,我们的任务是要把这个共享文件夹的访问权限授予公司内的员工张建国,注意,这个文件夹只有张建国一个人可以访问!那我们就要考虑一下如何才能实现这个任务,一般情况下管理员的思路都是在服务器上为张建国这个用户创建一个用户账号,如果访问者能回答出张建国账号的用户名和密码,我们就认可这个访问者就是张建国。
基于这个朴素的管理思路,我们来在服务器上进行具体的实施操作。
首先,如下图所示,我们在服务器上为张建国创建了用户账号。
活动目录详解(基础篇)Windows 2000活动目录详解我们知道WIN2K系统最大的突破性和成功之一就在于它全新引入的“活动目录(Active Directory)服务”,使得WIN2K系统与Internet上的各项服务和协议更加联系紧密,因为它对目录的命名方式成功地与”域名“的命名方式一致,然后通过DNS进行解析,使得与在Internet上通过WINS解析取得一致的效果。
活动目录也说明了Microsoft在网络结构方面的策略转移,虽然在以前NT时代也有部分产品(如EXCHANGE SERVER、IIS等)提供过类似于活动目录的服务,然而活动目录作为一个全新的综合服务方式是在WIN2K的诞生后随之而来的。
活动目录的身影似乎在整个WIN2K系统中无处不在。
然而要真正了解“活动目录”的方方面面又谈何容易,下面就想通过一些通俗的讲解花几个篇章对活动目录的各主要方面作一详尽的分析,希望对那些对WIN2K的活动目录还存有畏惧心理的新手一个全面认识的机会。
一、活动目录的由来谈到活动目录最使人容易想起的就是DOS下的“目录”、“路径”和Windows9X/ME下“文件夹”,那个时候的“目录”或“文件夹”仅代表一个文件存在磁盘上的位置和层次关系,一个文件生成之后相对来说这个文件的所在目录也就固定了(当然可以删除、转移等,现在不考虑这些),也就是说它的属性也就相对固定了,是静态的。
这个目录所能代表的仅是这个目录下所有文件的存放位置和所有文件总的大小,并不能得出其它有关信息,这样就影响到了整体使用目录的效率,也就是影响了系统的整体效率,使系统的整个管理变得复杂。
因为没有相互关联,所以在不同应用程序中同一对象要进行多次配置,管理起来相当繁锁,影响了系统资源的使用效率。
为了改变这种效率低下的关系和加强与Internet上有关协议的关联,Microsoft公司决定在WIN2K中全面改革,也就是引入活动目录的概念。
理解活动目录的关键就在于“活动”两个字,千万不要将“活动”两个字去掉而仅仅从“目录”两个字去理解,那你我理来理去一定还是不能脱离原来在DOS下目录或Windows9x下的文件夹,正因为这个目录是活动的,所以它是动态的,它是一种包含服务功能的目录,它可以做到“由此及彼”的联想、映射,如找到了一个用户名,就可联想到它的账号、出生信息、E-mail、电话等所有基本信息,虽然组成这些信息的文件可能不在一块。
- 23 -信 息 技 术0 引言门户系统需要利用统一的入口实现资源和应用集成,以便为用户提供多层次的服务。
登录门户系统时,用户只需要登录一次就可访问多个应用系统,避免系统多次对用户身份进行认证,从而为用户获取资源提供便利。
因此,加强门户系统单点登录技术的研究,是系统提供一站式服务的重要基础保障。
1 门户系统的登录问题在大数据、云计算等信息技术取得快速发展的背景下,门户系统可以完成统一协作平台的建立,提供统一时搜索引擎,实现各种系统的连接以及数据的整合,为信息资源的整合利用提供了技术支撑。
通过门户系统,用户可以对与之相关的业务系统进行访问。
按照传统登录方案,无论登录哪个系统都要完成身份认证;在每个系统拥有单独登录信息的情况下,实现系统切换需要重新输入登录信息。
在各种信息管理系统不断增多的情况下,用户需要记忆的信息也会增多,这就会导致用户在登录门户系统时有较大的负担,无法充分发挥系统集成资源的作用[1]。
此外,用户如果要完成多个系统的同时登录,就需要完成复杂的操作。
因此就给系统应用集成带来困难,在影响用户工作效率的同时,增加了系统出错的概率。
2 门户系统的单点登录技术分析2.1 单点登录方案结合门户系统登录存在的问题,研究人员加强了单点登录技术的应用,将各系统身份认证步骤整合在一起,提供专门的身份认证服务,确保用户通过1次登录就可以在互信应用中随意切换。
单点登录作为用户管理机制的1种,能够提供统一认证和授权行为的管理服务,用户身份一经认证就可以授权给各种应用系统。
从技术应用原理上来看,在用户通过客户端打开门户系统的登录窗口后,输入的用户名、密码等将被系统服务器接收,经过验证后顺利进行系统登录。
在对门户系统中的应用服务进行访问时,系统可以完成账号、密码的自动匹配和校验,实现系统之间用户身份的快速认证,因此用户无需重复输入账号密码。
采用单点登录方案,需要实现信息数据和界面的集成。
针对门户系统提供的基础服务,采用抽取、重组和链接等技术实现系统之间信息流程的整合,对系统应用和数据进行集成。
ldap ad域用户规则LDAP AD域用户规则是指在使用LDAP(轻量级目录访问协议)和AD(活动目录)的环境中,管理和控制用户的规则和要求。
下面是关于LDAP AD域用户规则的相关内容。
1. 用户命名规则:- 每个用户在AD域中都有一个唯一的用户名,通常是一个用户账号或信箱名。
- 用户名要符合组织的命名规则,通常包含字母、数字和特殊字符,并且长度限制在一定范围内(例如,5-20个字符)。
- 用户名不应包含空格、斜杠和其他特殊字符,以确保系统正常运行。
2. 密码策略:- AD域要求用户设置强密码,以防止未经授权的访问。
- 密码通常需要包含至少8个字符,包括大写字母、小写字母、数字和特殊字符。
- 密码还应定期更换,例如每90天更换一次,以增加安全性。
3. 用户权限管理:- 每个用户在AD域中被分配一定的权限,这些权限决定了用户可以使用和访问的资源。
- 根据组织的要求,用户权限可以分为不同的级别,例如管理员、普通用户等。
- 用户权限应根据需要进行定期审查和更新。
4. 组织单元(OU)规划:- AD域中的用户可以根据组织结构和职能进行分组和组织。
- 使用OU的目的是帮助管理员更好地管理和控制用户访问权限。
- 根据组织的要求,可以创建不同的OU,例如部门、地理位置等。
5. 用户锁定策略:- 为了保护用户账号免受暴力破解和未经授权的访问,AD域可以设置用户锁定策略。
- 当用户多次输错密码时,账号可以自动锁定一段时间,以阻止进一步的登录尝试。
- 锁定策略的设置可以根据组织的需求进行调整。
总结:LDAP AD域用户规则是管理和控制用户在LDAP和AD环境中的规定和要求。
这些规则包括用户命名规则、密码策略、用户权限管理、组织单元规划和用户锁定策略等。
通过合理设置这些规则,可以增强AD域的安全性,并确保用户在系统中的合法访问和使用。
一 工作组与域的区别域管理与工作组管理的主要区别在于:1、 工作组网实现的是分散的管理模式,每一台计算机都是独自自主的,用户账户和权限信息保存在本机中,同时借助工作组来共享信息,共享信息的权限设置由每台计算机控制。
在网上邻居中能够看到的工作组机的列表叫浏览列表是通过广播查询浏览主控服务器,由浏览主控服务器提供的。
而域网实现的是主/从管理模式,通过一台域控制器来集中管理域内用户帐号和权限,帐号信息保存在域控制器内,共享信息分散在每台计算机中,但是访问权限由控制器统一管理。
这就是两者最大的不同。
2、 在“域”模式下,资源的访问有较严格的管理,至少有一台服务器负责每一台联入网络的电脑和用户的验证工作,相当于一个单位的门卫一样,称为“域控制器(Domain Controller,简写为DC)”。
3、 域控制器中包含了由这个域的账户、密码、属于这个域的计算机等信息构成的数据库。
当电脑联入网络时,域控制器首先要鉴别这台电脑是否是属于这个域的,用户使用的登录账号是否存在、密码是否正确。
如果以上信息有一样不正确,那么域控制器就会拒绝这个用户从这台电脑登录。
不能登录,用户就不能访问服务器上有权限保护的资源,他只能以对等网用户的方式访问Windows共享出来的资源,这样就在一定程度上保护了网络上的资源。
而工作组只是进行本地电脑的信息与安全的认证。
二 公司采用域管理的好处1、方便管理,权限管理比较集中,管理人员可以较好的管理计算机资源。
2、安全性高,有利于企业的一些保密资料的管理,比如一个文件只能让某一个人看,或者指定人员可以看,但不可以删/改/移等。
3、方便对用户操作进行权限设置,可以分发,指派软件等,实现网络内的软件一起安装,保证网络内软件的统一性。
4、 很多服务必须建立在域环境中,对管理员来说有好处:统一管理,方便在MS 软件方面集成,如ISA EXCHANGE(邮件服务器)、ISA SERVER(上网的各种设置与管理)等。
将Xlight FTP服务器与微软的活动目录(Active Directory)整合使用Xlight FTP服务器可以和微软的活动目录(Active Directory)整合,用来鉴权用户. 用户可以用相同的用户名,密码访问FTP服务器,电子邮件服务器等等. 注意: 30-天试用期后, 只有专业版本的Xlight FTP服务器支持这个功能.如果使用活动目录(Active Directory)为外部用户鉴权, 你需要到 [虚拟服务器设置]->[通用]->[虚拟服务器], 选择选项"启用外部用户鉴权" . 单击"设置..."键, 在虚拟服务器的"鉴权类型"中活动目录必须被选择,如下图所示:当你在服务器上打开活动目录设置对话框时, 如果你的服务器已经加入活动目录域, Xlight FTP服务器将会自动检测你的登录域和搜索用户的起始DN. 如果你没有看到这些信息, 你必须手工配置登录域和搜索用户的起始DN.如果你想只用活动目录检查用户名和密码, 你可以选择选项"只检查用户名和密码". 如果你不选择这个选项, 活动目录里的user object class的另一个属性homeDirectory也会被检查和使用.设置默认的用户设置如果你不想使用AD的属性homeDirectory作为用户的FTP主目录, 或者有太多AD用户,你不想为他们每个单独设置主目录. 你可以使用默认的用户设置来设置用户主目录. 这个链接有关于设置用户默认设置的详细说明.在活动目录中设置用户的主目录你可以使用微软的Active Directory用户和计算机控制台界面来设置用户的主目录, 如下图所示. 活动目录属性homeDirectory将会被用做FTP用户的主目录.注意: 如果用户的主目录在登录时不存在, 用户第一次登录时, Xlight FTP将自动创建这个目录.在用户主目录使用NTFS权限当选项"在用户主目录使用NTFS权限"被选中后, Xlight FTP服务器将模拟登录FTP用户的活动目录账户. 他的主目录访问将受到这个用户NTFS权限的限制. 如果这个选项没有被选中,Xlight FTP服务器的系统账户或当前登录账户将被用来访问所有用户的主目录.当选项"在用户主目录使用NTFS权限"被选中, 但是用户不能访问他的主目录, 关于NTFS权限你需要检查两件事情:1. 如果用户能够成功通过活动目录认证, 但在FTP日志, 你看到日志如 "450 不能改变目录到 /.". 这非常可能是NTFS权限的问题. 你需要检查帐户是否有访问这个目录的权限. 如果主目录是位于另一台机器上的UNC路径, 从这台机器的主控桌面, 你应该能够通过按"Alt+Ctl+Del"键用这个帐户登录. 从主控桌面, 检查是否他有足够的权限访问设置的主目录.2. 你不应该将用户的主目录放在域控制器. 微软的域安全策略不允许普通用户访问在域服务器上的资源. 尽管这个用户能够成功登录到AD域, 他将不能访问位于域服务器上的主目录. 只有具有系统管理员权限的只有帐户才能访问域控制器上的主目录.兼容IIS FTP活动目录用户隔离模式Xlight FTP服务器提供了一个和IIS FTP服务器 6.0引入的活动目录用户隔离模式兼容的方式. 你可以选择选项"兼容IIS FTP活动目录用户隔离模式". 当这个选项被选中后, Xlight FTP服务器将会读取并使用IIS FTP 活动目录的属性msIIS-FTPRoot和msIIS-FTPDir, 用它作为用户的主目录. 如果这两个IIS FTP 的属性在活动目录里没有被设置或不存在, 活动目录属性homeDirectory将会自动被用做主目录.设置虚拟服务器的公共目录你可以设置虚拟服务器的公共目录. 用户鉴权后, 所有用户都能够看到并从公共目录下载, 如下图所示:因为用户在AD里的主目录隐含使用"/"作为用户的虚拟目录, 你不应该使用"/"作为公共虚拟目录. 否则因为"/"是重复的, 当AD用户登录后, 他只能看到公共目录里的内容, 而不是他的主目录. 在上面的图里, 我们使用"/public"作为公共虚拟目录.在公共目录使用NTFS权限当选项"在公共目录使用NTFS权限"被选中, Xlight FTP服务器将模拟用户的AD(活动目录)账户. 公共目录访问将检查每个AD用户的NTFS权限. 基于NTFS 权限给予公共目录更多的权限控制灵活性,它将取代公共目录的本地FTP权限. 然而模拟用户的AD(活动目录)账户在某些罕见的情况下可能会失败. 如果模拟用户失败, 公共目录的本地FTP权限将被使用. 因此如果你使用NTFS权限控制公共目录的访问, 你依然需要为公共目录设置恰当的(最少的)本地FTP权限用于模拟AD用户失败的情况.在用户组使用NTFS权限当选项"在组目录使用NTFS权限"被选中, Xlight FTP服务器将模拟用户的AD(活动目录)账户. 组目录访问将检查每个AD用户的NTFS权限. 当用户登录到活动目录, 列在这个用户memberOf属性里(memberOf属性列出用户是成员的组)的和本地FTP组相匹配的第一个组将成为这个用户的FTP组. 在本地Xlight FTP服务器, 用户组被创建后, 你可以设置组目录.设置LDAP Filter限制用户搜索的范围你可以创建额外的LDAP filter以限制用户搜索的范围, filter 必须是用户的LDAP属性. 例如, 如果你想限制属于Users组的用户登录, 你可以使用AD里面的memberOf属性并设置LDAP搜索filter为memberOf=CN=Users,CN=Builtin,DC=ad-test-domain,DC=com创建并允许匿名用户访问FTP服务器当用户使用活动目录鉴权时, 你可能希望允许使用任意密码的匿名用户访问FTP服务器. 因为在活动目录内的用户必须使用密码, 匿名用户不能创建在活动目录内.不过你可以在本地创建一个用户名是"anonymous"的匿名用户,并在他的设置([用户设置]->[账号]->[外部鉴权选项])中选择选项"忽略外部用户鉴权", 如下图所示. 这个本地的FTP用户将会忽略外部用户鉴权,而使用本地FTP鉴权. 他的设置也将来自本地FTP服务器.查找活动目录的问题如果你在Xlight FTP服务器与微软的活动目录整合时遇到问题, 你可以选择外部用户认证的选项"在错误日志显示调试跟踪信息". 这个选项被选中后, Xlight FTP服务器的活动目录信息将会被写到错误日志.这里有两个和活动目录相关的常见设置错误.1. 普通用户的主目录被设置到位于域控制器的机器上的目录. 因为微软的域安全策略不允许普通用户登录域控制器并访问在域控制器上的资源. 尽管这个用户能够成功登录AD, 登录后他不能访问他的主目录. 如果你想在域控制器上访问用户目录, 链接/zh-cn/library/cc785165(WS.10).aspx提供了步骤更改微软默认的域安全策略.2. 当在较旧的Windows系统上运行Xlight FTP服务器, 例如Windows 2000, 运行Xlight程序的账户必须有"Act As Part Of The Operating System"(SE_TCB_NAME) 权限. 否则活动目录的用户将不能访问他的主目录.(SE_TCB_NAME) 权限能够在Local Security Policy的mmc snap-in界面在LocalPolicies/User Righs Assignments下设置. 这个问题是Windows XP之前的操作系统限制导致的. 因此对于和包括Windows XP之后的操作系统, 不需要为运行Xlight FTP服务器的账户分配这个权限.如何在活动目录内安装扩展模版xlightFTPdUser这里还有另外一个选项"使用扩展Schema "xlightFTPdUser"". 它通过扩展schema xlightFTPdUser, 提供了很多和Xlight FTP服务器相关的FTP用户控制参数.当这个选项被选择后, 活动目录里user object class的属性 homeDirectory 将不再被使用. 相应的来自扩展模版xlightFTPdUser的属性ftpHomeDirectory 将被用来设置这个用户的主目录.在使用这个选项之前, 扩展模版xlightFTPdUser必须在活动目录内被安装. 这个安装步骤在下面.安装扩展模版xlightFTPdUser, 你首先需要打开文件AD-xlightFTPdUser.ldif 替换用你的域替换所有DC=X如下图所示. 文件AD-xlightFTPdUser.ldif可以在Xlight FTP服务器安装目录下的ldap目录内找到.保存文件AD-xlightFTPdUser.ldif. 你可以使用工具ldifde.exe导入模版xlightFTPdUser到活动目录,如下图所示. 你必需作为域管理员登录才能有权限执行下面命令.如果上面的导入命令执行成功, 你可以用MMC来检查模版xlightFTPdUser是否被成功导入如下图所示:在MMC Snap-in, 选择Active Directory Schema,点击"Add"键后再点击"Close"键,如下图所示:在下面的窗口如果你能够看到类型是Auxiliary的object class xlightFTPdUser, 模版xlightFTPdUser就已经被成功导入.你可以使用ADSI Edit在活动目录内修改和Xlight FTP服务器相关的用户属性. ADSI Edit可以在Windows Support Tools 的产品CD中找到,也可以从微软的网站下载. 从 MMC Snap-in 窗口, 添加ADSI Edit如下图所示:用ADSI Edit连接到你的活动目录. 选择CN=Users, 你可以在右面的窗口发现你的用户. 选择你准备设置Xlight FTP 服务器相关参数的用户,如下图所示:按鼠标右键; 点击右键菜单选项"Properties". 从对话框里, 选择并编辑Xlight FTP 服务器相关属性如下图所示. 这些属性以"ftp"开头. 你只需要修改你需要使用的属性. 然而如果你使用属性ftpHomeDirectory, 当"在用户主目录使用NTFS权限的选项"没有被选择时, 你需要同时修改属性ftpHomePerm 用来控制ftpHomeDirectory的用户权限.到这一步你应该能够使用扩展模版xlightFTPdUser来为用户设置Xlight FTP服务器相关的选项.设置FTP用户的虚拟目录从Xlight FTP服务器版本3.5开始, 你可以通过使用扩展模版xlightFTPdUser 的属性ftpVirtualPaths来为用户设置多个虚拟目录. ftpVirtualPaths字符串是"|"分割的虚拟目录,实际目录和权限的结合. 它的格式是: "虚拟目录 | 实际目录 | 权限". 例如,一个虚拟目录可以是 "/files/ | C:\Downloads\ | RLS----", 其中 "/files/" 是虚拟目录, "C:\Downloads\" 是映射到"/files/"的实际目录, "R--L--S"是"/files/"的权限标记. 虚拟目录, 实际目录和权限用"|"符号分割. 对于权限标记的含义,你可以参考"ftpHomePerm"的描述. 注意: 虚拟目录必须是UNIX形式的目录,实际目录必须是Windows形式的目录.参数%username%可以用于real path. %username%将会被替换成实际登录的用户名. 如果用户登录时real path不存在, Xlight FTP服务器将会自动创建目录.。
1. 群集服务安装前的准备1、环境描述:操作系统:Windows 2003 Server 简体中文企业版数据库: SQL Server 2000DC服务器:DELL服务器1:DELL 2950服务器2:DELL 2950磁盘阵列:DELL MD3000 (300G硬盘*15)HBA卡:SAS 5/E2、群集拓扑图如下图所示:群集拓扑结构图2、磁盘阵列与服务器连接SAS 5/E 上面有两个接口分别为0、1,MD3000上一般有两个In接口,和一个Out接口。
接主机一般使用两个In接口。
需要注意的是:如果一台服务器的SAS卡使用了ID为“1”的接口,另一台则需要使用ID为“0”的接口。
如上图所示。
3、账号信息:本地管理员账号:administrator密码:********域管理员账号:administrator密码:********群集管理员账号:cluster (域管理员组)密码:********SQL管理员账号:sqladmin (域管理员组)密码:********SA密码:sa4、服务器信息:域服务器服务器名:DCIP地址:192.168.2.5子网掩网:255.255.255.0网关:192.168.2.1DNS:192.168.2.5域名:Test.local域还原模式密码:********第一台服务器服务器名:Server1公网IP地址:192.168.2.2子网掩网:255.255.255.0网关:192.168.2.1DNS:192.168.2.5心跳侦测地址:192.168.18.1子网掩码:255.255.255.0第二台服务器服务器名:Server2公网IP地址:192.168.2.3子网掩网:255.255.255.0网关:192.168.2.1DNS:192.168.2.5心跳侦测地址:192.168.18.2子网掩码:255.255.255.05、群集5.1 群集名称:data.test.local5.1虚拟IP地址:192.168.2.556、SQL Server 20006.1 虚拟服务器名称:VIRSQLCLUSTER6.2 虚拟IP地址:192.168.2.66控制器0:192.168.2.101控制器1:192.168.2.1022. 群集服务器安装及配置在域服务器,服务器1和服务器2分别独立安装Windows Server 2003操作系统。
注意:当在VC里面使用AD的COM接口时要使用的一些头文件和Lib 文件: 头文件: Iads.h , activeds.h, Adshlp.h , initguid.h
LIB : ActiveDS.Lib ADSIId.lib uuid.lib
.Net的VC7下面拷贝ntdsapi.h和Schedule.h到vc6.0的VC98中
// LDAPWIN32.cpp : Defines the entry point for the console application. //
#include<stdafx.h>
#include"iostream.h"
#include"string.h"
#include"stdlib.h"
#include"stdio.h"
#include<afx.h>
#include<windows.h>
#include<atlbase.h>
#include<activeds.h>
#include<ntdsapi.h>
void main( )
{
HRESULT hr;
IDirectorySearch *pSearch;
CoInitialize(NULL);
hr = ADsOpenObject(
CComBSTR("LDAP://10.88.93.11"),
CComBSTR("tzsr027"),CComBSTR("610028"),
ADS_SECURE_AUTHENTICATION,
IID_IADs,
(void**)&pSearch);
if ( SUCCEEDED(hr) )
//AfxMessageBox(_T("权限正确!"));
printf("权限正确!\n");
else
printf("权限错误!\n");
//AfxMessageBox(_T("权限错误!"));
if(pSearch) pSearch->Release();
/*ADS_SEARCHPREF_INFO prefInfo[1];
prefInfo[0].dwSearchPref = ADS_SEARCHPREF_SEARCH_SCOPE;
prefInfo[0].vValue.dwType = ADSTYPE_INTEGER;
prefInfo[0].vValue.Integer = 100;
hr = pSearch->SetSearchPreference( prefInfo, 1);
if (FAILED(hr))
{
pSearch->Release();
//return hr;
// Prepare for attributes to be returned
LPWSTR pszSearchFilter = L"(&(objectClass=user)(objectCategory=person))";
//LPWSTR pszAttr[] = {L"sAMAccountName"};
LPWSTR pszAttr[] = {L"name"};
ADS_SEARCH_HANDLE hSearch;
LPOLESTR pszColumn = NULL;
int iCount = 0;
DWORD x = 0;
DWORD dwCount= sizeof(pszAttr)/sizeof(LPWSTR);
// Search
hr = pSearch->ExecuteSearch(
pszSearchFilter,
pszAttr,
dwCount,
&hSearch
);
// Enumerate the search result
ADS_SEARCH_COLUMN col;
if ( SUCCEEDED(hr) )
{
// Call IDirectorySearch::GetNextRow() to retrieve the next row of data
hr = pSearch->GetFirstRow(hSearch);
if (SUCCEEDED(hr))
{
while( hr != S_ADS_NOMORE_ROWS )
{
//Keep track of count.
iCount++;
// loop through the array of passed column names,
// print the data for each column
while( pSearch->GetNextColumnName( hSearch, &pszColumn ) != S_ADS_NOMORE_COLUMNS ) {
hr = pSearch->GetColumn( hSearch, pszColumn, &col );
if ( SUCCEEDED(hr) )
{
for (x = 0; x< col.dwNumValues; x++)
wprintf(L"%s: %s ",col.pszAttrName,col.pADsValues[x].CaseIgnoreString);
}
pSearch->FreeColumn( &col );
}
FreeADsMem( pszColumn );
//Get the next row
hr = pSearch->GetNextRow( hSearch);
wprintf(L"\n");
}
}
}
CoUninitialize();
//return 0;*/ }。