活动目录(Active Directory)域故障解决实例

时间:2021-04-24 14:50:44
活动目录(Active Directory)域故障解决实例

from:http://blog.chinaunix.net/u/29558/showart_248685.html

by clin003 at 20070427 from:http://blog.csdn.net/clin003
Q1、客户机无法加入到域?


一、权限问题。



要想把一台计算机加入到域,必须得以这台计算机上的本地管理员(默认为administrator)身份登录,保证对这台计算机有管理控制权限。普通用户登录进来,更改按钮为灰色不可用。并按照提示输入一个域用户帐号或域管理员帐号,保证能在域内为这台计算机创建一个计算机帐号。



二、不是说“在2000/03域中,默认一个普通的域用户(Authenticated Users)即可加10台计算机到域。”吗?这时如何在这台计算机上登录到域呀!



显然这位网管误解了这名话的意思,此时计算机尚未加入到域,当然无法登录到域。也有人有办法,在本地上建了一个与域用户同名同口令的用户,结果可想而知。这句话的意思是普通的域用户就有能力在域中创建10个新的计算机帐号,但你想把一台计算机加入到域,首先你得对这台计算机的管理权限才行。再有就是当你加第11台新计算机帐号时,会有出错提示,此时可在组策略中,将帐号复位,或干脆删了再新建一个域用户帐号,如joindomain。注意:域管理员不受10台的限制。



三、用同一个普通域帐户加计算机到域,有时没问题,有时却出现“拒绝访问”提示。



这个问题的产生是由于AD已有同名计算机帐户,这通常是由于非正常脱离域,计算机帐户没有被自动禁用或手动删除,而普通域帐户无权覆盖而产生的。解决办法:1、手动在AD中删除该计算机帐户;2、改用管理员帐户将计算机加入到域;3、在最初预建帐户时就指明可加入域的用户。



四、域xxx不是AD域,或用于域的AD域控制器无法联系上。



       在2000/03域中,2000及以上客户机主要靠DNS来查找域控制器,获得DC的 IP 地址,然后开始进行网络身份验证。DNS不可用时,也可以利用浏览服务,但会比较慢。2000以前老版本计算机,不能利用DNS来定位DC,只能利用浏览服务、WINS、lmhosts文件来定位DC。所以加入域时,为了能找到DC,应首先将客户机TCP/IP配置中所配的DNS服务器,指向DC所用的DNS服务器。



加入域时,如果输入的域名为FQDN格式,形如mcse.com,必须利用DNS中的SRV记录来找到DC,如果客户机的DNS指的不对,就无法加入到域,出错提示为“域xxx不是AD域,或用于域的AD域控制器无法联系上。”2000及以上版本的计算机跨子网(路由)加入域时,也就是说,加入域的计算机是2000及以上,且与DC不在同一子网时,应该用此方法。



       加入域时,如果输入的域名为NetBIOS格式,如mcse,也可以利用浏览服务(广播方式)直接找到DC,但浏览服务不是一个完善的服务,经常会不好使。而且这样虽然也可以把计算机加入到域,但在加入域和以后登录时,需要等待较长的时间,所以不推荐。再者,由于客户机的DNS指的不对,则它无法利用2000DNS的动态更新动能,也就是说无法在DNS区域中自动生成关于这台计算机的A记录和PTR记录。那么同一域另一子网的2000及以上计算机就无法利用DNS找到它,这本应该是可以的。



       若客户机的DNS配置没问题,接下来可使用nslookup命令确认一下客户机能否通过DNS查找到DC(具体见前)。能找到的话,再ping一下DC看是否通。






Q2、用户无法登录到域?






一、用户名、口令、域



       确保输入正确的用户名和口令,注意用户名不区分大小写,口令是区分大小写的。看一下欲登录的域是否还存在(比如子域被非正常删除了,域中唯一的DC未联机)。



二、DNS



       客户机所配的DNS是否指向DC所用的DNS服务器,讨论同前。



三、计算机帐号



       基于安全性的考虑,管理员会将暂时不用的计算机帐号禁用(如财务主管渡假去了),出错提示为“无法与域连接……,域控制器不可用……,找不到计算机帐户……”,而不是直接提示“计算机帐号已被禁用”。可到AD用户和计算机中,将计算机帐号启用即可。



       对于 Windows 2000/XP/03,默认计算机帐户密码的更换周期为 30 天。如果由于某种原因该计算机帐户的密码与 LSA 机密不同步,登录时就会出现出错提示:“计算机帐户丢失……”或“此工作站和主域间的信任关系失败”。解决办法:重设计算机帐户,或将该计算机重新加入到域。



四、默认普通域用户无权在DC上登录



       见下一小节的Q1。



五、跨域登录中的问题



在2000及以上计算机上登录到域的过程是这样的:域成员计算机根据本机DNS配置去找DNS服务器,DNS根据SRV记录告诉它DC是谁,客户机联系DC,验证后登录。



  如果是在林中跨域登录,是首先查询DNS服务器,问林的GC是谁。所以要保证林内有可用的GC。如果是要登录到其它有信任关系的域(不一定是本林的),要保证DNS能找到对方的域。






Q3、如何解决本地或域管理员密码丢失?






  本地管理员密码丢失,可通过删除sam文件(2000SP3以前)或通过NTpassword软件来解决。但要解决域管理员密码丢失,它们就无能为力了,这时就需要用到“凤凰万能启动盘”中的ERD Commander 2002了,接下来我们将详细讨论使用此盘解决管理员密码丢失问题。



1、上网搜索“凤凰启动盘”或“凤凰万能启动盘”,大约178M;



2、下载后解压缩,将其内容刻录成光盘;



3、用此光盘启动计算机,显示XP安装界面,Start ERD Commander 2002环境;



4、出现选择菜单,选择第一项:ERD Commander 2002;



5、出现类似XP的启动界面



6、进入选择系统安装的路径,一般会自动测出操作系统、版本及是否域控制器;



7、出现类似的XP桌面:选择Start/Administrative Tools/Locksmith;



8、进入ERD Commander 2002 locksmith向导界面,下一步;



9、选择Administrator,重设其密码;(此时切不可手动重新启动计算机,否则此修改将无效)



10、选择Start/Logoff,点OK;



11、稍候片刻,点reboot后重新启动计算机



凤凰启动盘中的ERD Commander 2002功能强大,不仅可破解本地管理员密码,包括NT/2000/XP/03的各个版本。还可以破解NT/2000/03域管理员密码,均已实验证明。



由于可自动识别操作系统和版本,及是否DC,所以用户在操作时,重设密码的方法都是一样的。对于03,重设密码时要注意符合密码策略中要求的符合复杂性要求,且密码最小长度为7,否则重设的密码会无效。

Q4、无法使用域内的共享打印机?






       现象:计算机重启或注销,再登录进来,无法使用以前安装的域内的共享网络打印机,



为用户重新安装打印机,当时可以打印,但不久问题又会出现。用户反映说有时能打印,有时就是不能打印。



       其原因在于用户没有登录到域(很多用户即使计算机加入到了域,也经常习惯性地选择登录到本地机),没有域用户身份,当然无权访问域内的资源。而且关键是Windows系统在这里有个小毛病,它并不象你访问共享文件夹那样,由于没有身份而提示你输入用户名和密码来进行验证,而是直接提示你“拒绝访问,无法连接”、“当前打印机安装有问题”,“RPC服务不可用”等等(在不同的操作系统或应用程序中提示会所不同)。



       解决办法有3种,最好还是用方法1。:



1、要求用户将其域用户帐号加入到本地管理员组,以后每次都以域用户帐号登录。



说明:这本身就是微软推荐的一种办法。因为如果不这样,普通用户以本地管理员身份登录时,控制本机没问题,但访问域资源时需要输入域用户名和口令;而用户若以域用户身份登录,又没有本机管理特权。比如说:无法关机,无法修改网络等配置,无法安装软件、驱动等。这样做了以后,用户以域用户身份登录,同时他又是本地管理员。



2、在打印服务器上启用Guest用户,保证everyone有打印权限。但这样做不安全,所以不推荐。



3、在客户机上每次要使用打印机前,在开始—运行://PrintServer,这时会提示你输入用户名和密码。通过验证后,再去使用打印机。很显然这样方法比较麻烦。






Q5、无法访问域内的共享资源?






       上例中我们提到过客户机如果加入到了域,但用户选择登录到本地机。当访问域内共享资源时,会提示输入用户名和口令。若不出现提示,直接出现拒绝访问。一般是由于目标计算机上启用了guest,而guest用户没有权限造成的。



       接下来的讨论实质和域的关系不太,但确实是我们访问网络共享资源中经常会碰到的问题:基于UNC路径的IP形式来访问时的故障,如在开始/运行://10.63.243.1。



前提:在网卡、协议、连接没问题的情况下。即在可ping通的前提下,若//10.63.243.1不通,排错可从下面几个方面来考虑。



1、目标机的“Microsoft网络的文件和打印机共享”服务的问题。



提示:“//10.63.243.1 文件名、目录名或卷标语法不正确”。



检查:服务是否安装、是否选中,或重装一下。



操作:网上邻居/右键/属性/本地连接/右键/属性



2、由于访问相关的net logon、server、workstation服务务未正常启动的影响。



提示:



(1)若目标机(为域成员)上的net logon服务停了:“试图登录,但网络登录服务未启动”。



(2)若目标机上的server服务停了:“//10.63.243.1 文件名、目录名或卷标语法不正确。”



(3)若本机的worstation服务停了:“//10.63.243.1 网络未连接或启动”。连其它计算机,也是一样的提示。



检查:相应服务是否已经正常启动。



操作:我的电脑/右键/管理/服务和应用程序/服务下



3、由于本机与其它计算机重名(指NetBIOS名称)的影响



提示:访问任何计算机均提示:“找不到网络路径”。



检查:重启一下,看是否有“网络中存在重名”的提示。可能上次开机时没注意给忽略了。



操作:我的电脑/属性/网络标识/属性/计算机名下,修改计算机名。



4、XP/03由于默认安全策略:“帐户:使用空白密码的本地帐户只允许进行控制台登录”的影响



提示://10.63.243.1无法访问。您可能没有权限使用网络资源。请与这台服务器的管理员联系以查明您是否有访问权限。登录失败:用户帐户限制。可能的原因包括不允许空密码,登录时间限制,或强制的策略限制。



检查:改用非空密码的帐户试试,或查看XP/03目标机上的本地策略。



操作:开始/运行:gpedit.msc。计算机配置/Winodws设置/安全设置/本地策略/安全选项下,由默认值“启用”改为“禁用”。



注意:域帐号访问不受此策略限制。



5、网络共享访问被筛选器的设置所阻止



提示:找不到网络路径



检查: TCP/IP筛选、IPSEC、RRAS筛选器是否被启用,且TCP端口139和445被禁用。



操作:



(1)网上邻居/属性/本地连接/属性:TCP/IP—高级—选项—TCP/IP筛选



(2)网上邻居/属性/本地连接/属性:TCP/IP—高级—选项—IP安全机制



(3)开始/程序/管理/路由和远程访问/IP路由选择/常规/接口/右键属性/常规:输入/输出筛选器。



说明:



(1)RRAS筛选器只在2000/03 Server版中才有,IPSEC只有在2000的上述位置才有。



(2)若你就想设置筛选器,基于端口控制,不让别人访问你的网络共享资源,需要同时禁止TCP:139和445口。



(3)由于此种原因产生的访问故障,一般是由于实验后忘了复原,或别人故意和你开玩笑。






Q6、在AD域中,如何批量添加域用户帐号?






作为网管,有时我们需要批量地向AD域中添加用户帐户,这些用户帐户既有一些相同的属性,又有一些不同属性。如果逐个添加、设置的话,十分地麻烦。一般来说,如果不超 过10个,我们可利用AD用户帐户复制来实现。如果再多的话,我们就应该考虑使用csvde.exe或ldifde.exe来减轻我们的工作量了。最后简单介绍一下利用脚本(可利用循环功能)批量创建用户帐号






一、AD用户帐户复制



1、在“AD域和计算机”中建一个作为样板的用户,如S1。



2、设置相关需要的选项,如所属的用户组、登录时间、用户下次登录时需更改密码等。



3、在S1上/右键/复制,输入名字和口令。



说明:



1、  只有AD域用户帐户才可以复制,对于本地用户帐户无此功能。



2、  帐户复制可将在样板用户帐户设置的大多数属性带过来。具体如下:

二、比较csvde与ldifde

三、以csvde.exe为例说明:域用户帐户的导出/导入



  操作步骤如下:



1、  在“AD域和计算机”中建一个用户,如S1。



2、  设置相关需要的选项,如所属的用户组、登录时间、用户下次登录时需更改密码等。



3、  在DC上,开始/运行:cmd



4、  键入:csvde  –f  demo.csv



说明:



(1)不要试图将这个文件导回,来验证是否好使。因为这个文件中的好多字段在导入时是不允许用的,如:ObjectGUID、objectSID、pwdLastSet 和 samAccountType 等属性。我们导出这个文件目的只是为了查看相应的字段名是什么,其值应该怎么写,出错信息如下:

(2)可通过-d –r参数指定导出范围和对象类型。例如:



       -d “ou=test,dc=mcse,dc=com” 或 -d “cn=users,dc=mcse,dc=com”



              -r “< Objectclass=user>”



1、  以上面的文件为参考基础,创建自己的my.csv,并利用复制、粘贴、修改得到多条记录。例如:



dn,objectClass,sAMAccountName,userAccountControl,userPrincipalName



"CN=s1,OU=test,DC=mcse,DC=com",user,S1,512,S1@mcse.com



"CN=s2,OU=test,DC=mcse,DC=com",user,S2,512,S2@mcse.com



………………,其它可用字段,我试了一下,见下表(不全):

6、导入到AD,键入 csvde  –i –f  my.csv  –j c:/



说明:-j用于设置日志文件位置,默认为当前路径。此选项可帮助用户在导入不成功时排错。






有一点大家必须明确的是:我们在这里做AD域用户帐户复制、做AD域用户帐户的导出/导入,并不能代替“AD备份和恢复”。我们只是在批量创建用户帐号,帐号的SID都是重新生成的,权利权限都得重新设才行。(当然我们可以把导入的用户,通过memberof字段设到一些用户组中去,使它有权利权限。但这与利用“AD备份和恢复”到原状,完全是两回事)。






四、利用脚本创建批量用户帐户






1、利用脚本创建用户帐号(用户可参考下例)。



Set objDomain = GetObject("LDAP://dc=fabrikam,dc=com")



Set objOU = objDomain.Create("organizationalUnit", "ou=Management")



objOU.SetInfo



说明:在fabrikam.com域创建一个名叫Management的OU。






Set objOU = GetObject("LDAP://OU=Management,dc=fabrikam,dc=com")



Set objUser = objOU.Create("User", "cn= AckermanPila")



objUser.Put "sAMAccountName", "AckermanPila"



objUser.SetInfo



objUser.SetPassword "i5A2sj*!"



objUser.AccountDisabled = FALSE



objUser.SetInfo



说明:在Management OU下创建一个名叫AckermanPila的用户,口令为i5A2sj*!,启用。






Set objOU = GetObject("LDAP://OU=Management,dc=fabrikam,dc=com")



Set objGroup = objOU.Create("Group", "cn=atl-users")



objGroup.Put "sAMAccountName", "atl-users"



objGroup.SetInfo



objGroup.Add objUser.ADSPath



objGroup.SetInfo



说明:在Management OU下创建一个名叫atl-users的用户组,将用户AckermanPila加入到这个组中。






Wscript.echo "Script ended successfully"



说明:显示“脚本成功结束”信息






2、利用脚本中的循环功能实现批量创建用户帐号






Set objRootDSE = GetObject("LDAP://rootDSE")



Set objContainer = GetObject("LDAP://cn=Users," & _



                                                  objRootDSE.Get("defaultNamingContext"))



For i = 1 To 1000



Set objUser = objContainer.Create("User", "cn=UserNo" & i)



objUser.Put "sAMAccountName", "UserNo" & i



objUser.SetInfo



objUser.SetPassword "i5A2sj*!"



objUser.AccountDisabled = FALSE



objUser.SetInfo



Next



WScript.Echo "1000 Users created."



说明:在当前域的Users容器中创建UserNo1到UserNo1000,共1000个用户帐户



Q7、我的计算机不知道怎么回事,系统时间总是被改快1小时?






加入域的计算机,没有自己的时间。这是因为时间参数,在AD复制中是一个极为重要的因素。如:决定多主控复制时,谁的修改最终生效。所以整个域的时间,都由域的PDC仿真主控来控制,整个林的时间都由林根域上的PDC仿真主控来控制。



       说明:如果整个林的时间都快1小时,对你AD的正常工作没有任何影响。



       解决:修改林根域的PDC仿真主控计算机的时间。实际工作中,要先查看域内计算机的时区设置是否正确。






Q8、建立AD域,需要有什么样的权限才行?






1、若是创建林内的第一个域,即林根域,只要有目标计算机上的本地管理员权限即可。



2、作为已有域的附加DC,需要该域的域管理员(Domain Admins)权限。



3、安装子域的DC,或新树的DC,都涉及到林结构的改变,需要林管理员(Enterprise Admins)权限才行。






Q9、如何在2000域中添加一台03的DC?






       03和2000比,功能更强大了,在域和AD的体系结构上也有了一些变化(参见前面:域、林功能级别)。但微软的产品十分讲究向前兼容,我们可以实现在一个2000域中加入03DC、加入03DNS,并且DC间的AD复制,DNS间的区域传输,都好像没有版本差异一样。



       但要注意:直接就在03计算机上安装AD是不行的,会收到出错提示“Active Directory版本不同”。我们需要做一些准备工作,在2000DC(SP2及更高)上运行03光盘/I386/adprep,



具体第一步:adprep /forestprep进行林准备,第二步adprep /domainprep进行域准备。



  顺便说一下:03可以作为2000域的附加DC,2000也可以作为03域的附加DC,而直接在2000上安装AD即可,不需要准备。






Q10、创建AD域时,由于没有NTFS分区,导致AD安装失败?






在2000/03成员或独立服务上上运行dcpromo命令,安装AD,将其提升为DC,其上必须有一个NTFS 5.0分区,用来保存AD的sysvol文件夹。



注意:2000的NTFS分区是NTFS 5.0,NT4的是NTFS 4.0,NT4必须安装SP4后,才可访问2000的NTFS分区。



如果C是引导分区,即系统夹winnt或windows所在分区,采用FAT32分区,系统会自动查找下一个可用的NTFS分区来存放系统卷,如d:/sysvol。如果找不到NTFS分区,就会出错,导致AD安装失败。这时可利用convert命令将某个FAT32分区转成NTFS分区,这个转换会保持数据的完好。但要注意这个转换是单向不可逆,想回复到FAT分区,除非重新格式化该分区。



以转换D盘为例,具体操作如下:



1、开始/运行:convert d: /fs:ntfs



2、提示是否转换,键入y确认转换。



说明:这时并没有真正开始转换,如果后悔,可以到注册表HLM/当前控制/控制/会话管理/BootExecute下,删除其值Convert d: /fs:ntfs 。



3、重新启动计算机,将在登录界面出现前,真正实施FAT到NTFS的转换。

Q11、安装AD域时,出现NetBIOS名称冲突?






       在安装AD时,安装选项会要求输入:新域的DNS全名,在这里应该输入新域的完全有效域名FQDN,形如:mcse.com。系统会打算以mcse作为此域的NetBIOS名称,并在网络中检查是否存在重名,需要等一会儿。



如果不重名则设为mcse(建议用户不要修改此名),重名系统则自动设为mcse0,建议用户最好换个名字,因为你的网络可能还会有2000以前版本的老系统,考虑到NetBIOS名称解析和DNS名称解析的互助,保持一致性比较好。



说明:NetBIOS名称,只是为95/98/NT等老版本用户通过“浏览服务”或WINS来识别这个域用的,如果确信域内计算机都是2000及以上系统(它们通过DNS定位域),其实NetBIOS名称冲不冲突,都无所谓。



这种冲突可能源自于网络中如果已有一个域,名字叫做mcse.org,DNS名虽然不冲突,但是NetBIOS名称冲突。也可能是你安装了一个mcse.com域未能完全成功,又再次安装导致的,这样情况倒可以强行将NetBIOS名称将为mcse,而不是mcse0。






Q12、安装AD完成后,重启登录非常慢,甚至长达20分钟之久。






这一般是由于用一台运行了一段时间的2000/03 Server来安装AD造成的,故障较难定位。若重启几次后就正常了,则不必理会。如果多次重启后还是非常慢,那就要重装系统及AD了。建议:最好在新装的系统上来安装AD,这样不容易出问题。






Q13、安装AD时,选择了在本机安装DNS,但安装结束后,在DNS中未生成SRV记录?






如果决定在安装AD过程中在本机安装DNS,应在安装前,将本机TCP/IP配置中的DNS服务器指向自己,这样在安装AD完成后重启时,SRV记录将被自动注册到DNS服务器的区域当中去的,生成四个以下划线开头的文件夹,如_msdcs。



03DNS在这里夹的层次结构有所变化,将_msdcs.域名夹提升了一级,直接放到了查找区域下,但本质没变。



如果安装前忘了将DNS指向自己,也可以后补上。然后到计算机管理/服务下,重启Net Logon服务即可。这样可以把启动时未能注册到DNS服务器的SRV记录(缓存在windows/system32/cache中)写入DNS。如果仍然不行的话,那只好重启DC了。






Q14、安装子域失败。






       在保证权限(需要林管理员权限,不要误以为是父域管理员权限)、DNS没问题的情况下,最常见的安装子域失败的原因就是域命名主控失效,出错提示为:“由于以下原因,操作失败:AD无法与域命名主机xxx联系。指定的服务器无法运行指定的操作。”



说明:域命名主控要正常工作,它本身要求GC必须可用。这是由于:为了保证域的名字在林中唯一,域命名主机需要查询GC。若是2000林,GC必须和域命名主机在同一台计算机上才行。若是2003林,不要求GC必须和域命名主机非得在同一台计算机上。



解决:保证域命名主控联机,如果确信其已无法正常工作,可强制传给(查封seize)林内的任意一台DC,子域的DC也可以。原来的主控必须被重做系统后,才可连入网络,以保证域命名主控的林唯一性。






Q15、修改用户密码需要几分钟,甚至更长的时间。






前面我们介绍过:PDC仿真主控负责最小化密码变化的复制等待时间,若一台DC接受到密码变化的请求,它必须通知PDC仿真主控。若是PDC仿真主机失效,收到该请求的DC必须经过一段时间的查找后,确认真的找不到PDC仿真主控了,才会自己修改用户密码。所以在此情况下,应首先检查PDC仿真主控。



如果确信其已无法正常工作,可强制传给(查封seize)域内的任意一台DC。原来的主控必须被重做系统后,才可连入网络,以保证PDC仿真主控的域唯一性。









Q16、正常卸载AD时的常见问题






       在实际工作中有时我们需要改变服务器角色,或者将实验中安装的DC回复到普通成员/独立服务器身份,这就要进行AD的卸载。



1、卸载时会提示给新的本地管理员设置密码



2、附加DC卸载后,仍在域中。



3、如果AD不能卸载,应从以下几方面考虑:



(1)网卡是否正常工作



即使你整个林中只有一台计算机,也要保证网卡正常工作,才能将AD卸载。网卡不工作或禁用网卡都会导致AD无法卸载,提示“卸载SYSVOL文件夹出错”



(2)权限



权限要求与安装AD时类似,若一个林中只有一个域,那么你要卸载的就是林根域,需要林管理员(Enterprise Admins)权限;卸载附加DC需要该域的域管理员(Domain Admins)权限;卸载子域或树,涉及到林结构的改变,也需要林管理员权限。



(3)DNS



       一般应保证与安装时所用DNS一致。如果做了DNS规划,必须保证1中权限所要求的管理员身份能通过DNS找到相应DC,进行验证。



(4)域命名主控



       卸载时只要涉及到林结构的改变,就需要保证域命名主控有效;卸载附加DC时不要求域命名主控有效。



但要注意的是:卸载时,域命名主控失效的出错信息与安装时的“AD无法与域命名主机xxx联系”提示不同,具体是:由于以下原因,操作失败。以提供的凭据绑定到服务器xxx失败。“RPC服务器不可用”。



(5)卸载的顺序



       与安装顺序相反,应该先逐级卸载下面的子域,最后卸载树根域、林根域。否则将导致子域无法卸载,而存在的子域还有问题,找不到林根域、树根域了。



       因为这时极有可能架构和域命名主控及GC未转移,林管理员组和架构管理员组(Schema Admins)已经随林根域的删除而没有了。为什么这么说呢?因为如果管理员考虑到主控及GC等的转移问题,也就不会误删除林根域了。






Q17、AD无法正常卸载,或者说DC无法正常降级为成员服务器?






1、Dcpromo /forceremoval强制卸载AD



2、重设目录恢复模式下的管理员密码:



2000:winnt/system32/setpwd.exe



03:使用ntdsutil实用工具,set dsrm password






       如果按照上例的要求,还是无法正常卸载AD,且出错提示未提到DNS方面的故障。考虑本机上已安装有的应用程序,你还不想重做系统,可考虑使用如下办法。



1、开始/运行,在命令行中输入regedit或regedt32打开注册表编辑器。



2、找到以下的键值:



  HKEY_LOCAL_MACHINE/System/CurrentControlSet/Control/Product Options



  键值:ProductType  类型:REG_SZ



3、 将原来的值“LanmanNT”改为“ServerNT”。



               



说明:



(1)LanmanNT表示本机为域控制器DC,ServerNT表示本机为非DC。



(2)只有当CurrentControlSet1和CurrentControlSet下的键值:ProductType 所等于的数据不同时,即一个为ServerNT,一个为LanmanNT才允许修改。否则将会出如下提示:



¨     对于2000:“系统已检测到干预您的注册产品类型,这是您对软件许可证的侵犯。干预产品类型是不允许的。”



¨     对于03:“系统检测到您的注册的产品类型有篡改现象。这是对软件许可证的侵犯。篡改产品类型是不允许的。”



(3)教学实践中可以利用ntdsutil将子域的server对象(实质指DC)手动删除,然后运行dcpromo降级,降级失败后演示此知识点。



接下来,方法一:



1、重新启动计算机,按F8键进入到“目录服务恢复模式”。



说明:



(1)在此模式下,AD不工作,以便对AD库文件及系统卷sysvol进行操作。



(2)登录的口令不同于平时所用的口令,是在安装AD时,所设的目录恢复模式下的口令。保存在本机一个SAM库文件中。



2、删除存放活动目录数据库的文件夹,默认为C:/WinNT/NTDS,或C:/Windows/NTDS。



3、删除存放系统卷的文件夹,默认为C:/WinNT/SYSVOL,或C:/Windows/SYSVOL



4、重新启动计算机。



5、由于还有一些作为域控制器的注册表键值和文件存在,所以在重新启动完计算机后,还需要使用dcpromo命令来升级计算机B到一个临时的域的域控制器(域名可以任意填写),然后再用dcpromo命令降级,这样才会完整地删除所有和域控制器相关的注册表键值和文件。



方法二



1、开始/运行,在命令行中输入dcpromo



2、由于前面已经修改了注册表,此时为AD安装界面,而非卸载界面。



3、会遇到如下出错提示:“由于网络上名称冲突,选定默认的NetBIOS域名‘xxx’”。



说明:xxx为你修改注册表前原来域的NetBIOS名称。



4、不必介意出错提示,手动设置你想要的名称。比如你此次的域为abc.com,则手动设xxx改为ABC即可。



5、再接下来会遇到提示:“c:/winnt/ntds文件夹不是空的,当升级处理开始时,要删除文件夹中所有的文件吗?(如果不,请指定另一个文件夹。)”



6、选择:是



说明:



(1)在选择系统卷的夹,如c:/winnnt/sysvol后,时间可能会比较长,请耐心等待。



(2)和正常安装时一样,可能会碰到DNS错误提示,一般选择在本机安装DNS即可。



(3)也可能会出现“计算机已脱离域,帐号未被禁用”的提示,不必理会。



(4)最重要的一点是:这第一次非常可能不成功,再重来一遍dcpromo即可。



7、如果这次安装是为了清除残余的注册表键值和垃圾文件,可再次运行dcpromo进行卸载。当然直接使用这台DC,也是可以的。



       最后强调一下,此方法并不是万能的。一是前面我们已经提到的,有时注册表不允许修改或者改完了存不上。再有就是如果在卸载的一开始,就出现有关DNS的出错信息,必须首先排除DNS故障才行。

Q18、如何清理AD数据库中的垃圾对象。






       如果我们非正常卸载AD子域、DC等,就会在AD元数据库中留下垃圾。比如上面的例子,又比如未经AD卸载就把DC计算机的系统重做了。这些垃圾对象一般来讲无碍大局,但如果我们想优化AD的性能,不想给用户带来不必要的麻烦(比如用户选择登录到已经不存在的子域),就可以利用ntdsutil工具进行元数据库清理(metadata cleanup),来删除垃圾对象。具体操作如下:



1、开始/运行:cmd,在命令行下键入 ntdsutil。



说明:



(1)直接,开始/运行:ntdsutil,也可以。



(2)进行元数据库清理,不要进到目录恢复模式下。



(3)进行元数据库清理,可以在非DC的2000/XP/03计算机上进行。但有些操作(如使用ntdsutil工具进行授权恢复、整理移动AD库文件)必须在DC上进行。



(4)在ntdsutil的每级菜单下都可以通过键入:?或HELP,查看本级菜单下可用的命令。



2、在 ntdsutil: 提示符下,键入 metadata cleanup ,然后按 ENTER。



说明:ntdsutil是个分层的多级命令行工具,用户在键入名字时,可简写,只要不同于本级命令中的其它命令即可。比如上面的命令metadata cleanup可简写为m c。



3、在 metadata cleanup: 提示符下,键入 connections ,然后按 ENTER。



4、在 server connections: 提示符下,键入 connect to server servername,然后按 ENTER。



说明:



(1)其中 servername 是指域控制器的DNS名称,用主机名或FQDN均可。注意:虽然联机说明中提到了可以用IP去连,但实际上发现用IP去连接,会出现参数不正确的出错提示。



(2)在这里要连接的DC,应是一个正常工作的、可操作的DC,而不是你要清理的那个DC对象。



5、键入 quit ,然后按 ENTER 回到 metadata cleanup: 提示符。



6、键入 select operation target ,然后按 ENTER。



7、键入 list domains ,然后按 ENTER。



说明:此操作将列出林中的所有域,每一域附带与其相关联的一个数字。



8、键入 select domain number,然后按 ENTER。



说明:其中 number 是与故障服务器所在的域相关的数字。



9、键入 list sites ,然后按 ENTER。



10、键入 select site number,然后按 ENTER。



说明:其中 number 是指域控制器所属的站点号码。



11、键入 list servers in site ,然后按 ENTER。



说明:这将列出站点上所有服务器,每一服务器附带一个相关的数字。



12、键入 select server number,然后按 ENTER 。



说明:其中 number 是指要删除的域控制器。



13、键入 quit ,然后按 ENTER,退回到Metadata cleanup 菜单。



接下来,根据需要,删除相应的垃圾对象:



14、键入 remove selected server ,然后按 ENTER。



此时,Active Directory 确认域控制器已成功删除。若收到无法找到对象的错误报告,Active Directory 可能已删除了域控制器。



15、或者键入 remove selected domain,然后按 ENTER。



说明:要想删除域,必须得先删除这个域的server对象(实质是DC)才行。



16、键入 quit 然后按 ENTER 直至回到命令符。






如果清理的是Server对象,还需要:1、到Active Directory 站点和服务上,展开适当站点,删除相应Server对象。2、到Active Directory 用户和计算机上,双击打开Domain Controllers这个OU,删除相应的DC对象。



       如果清理的是Domain对象,还需要到Active Directory域和信任关系上,删除相应的已经没有用的信任关系。否则该域名还会出现在登录的域列表。



       在实际操作中,必须先做元数据清理,然后再到相应的管理工具中删除相应的对象。若是直接到管理工具中去删,系统将不允许删除。






Q19、欲替换域中唯一的一台DC,如何传送五种主控和转移GC。






一、传送五种主控



操作:



1、安装第二台DC(假设为DC2,原来的为DC1),



2、到相应的管理工具(具体见前)下,右键连接到域控制器:DC2,



3、右键/操作主机/相应标签下,点击更改即可。



说明:



1、其实在图形界面下,操作很简单,关键看能不能成功。



2、目标都在下面,只有架构的特殊,目标在上面。



3、如果DC都是最近安装的,极易成功。如果是运行了一段时间的,就不好说了。但我估计你的成功率应在九成以上,因为一般网管都不太动这个。



4、传送结构主控时,若目标已是GC,会提示出错。可以不理会,继续。因为结构主控负责:更新外部对象的索引(组成员资格),不应该和GC在同一个DC上,应手动移走,否则将不起作用。而单域不需要基础结构主控非得有效,我们一般平常用的都是单域,默认基础结构主控就和GC在一起,不起作用。



5、若传送不成功,不要着急,等5分钟~2小时不等,你什么都没做,再试可能就成功了。可以利用AD站点和服务/站点/默认的第一个站点名/SERVER/DC/ntds setting/AD连接/右键/立即复制副本,来强制AD马上复制。但有时候,仅依赖于此,还是不行,还得等。



6、至于把老DC从AD中去除,在开始/运行/DCPROMO,卸载AD。不要选“这是域中最后一台DC”,若能成功卸载,就一切OK了。如不成功,可以直接把原DC废掉重装。AD中会有原DC的垃圾对象,也不影响什么。若非要清干净,参见前例。



7、如果原角色DC已经无法访问,就只能进行强制传送了,也就是查封(seize)。查封的实质就是强行推出新的主控,会有数据的丢失。在图形界面下会有提示:原主控无法联系,是否强行传送。选择“是”,进行的就是查封操作。



8、利用ntdsutil工具roles下transfer命令和seize命令也可以实现上述操作。实验中发现,无论是用transfer还是seize,关键看是否能连接到原主控。连接下情况,就是传送;不连接情况下就是查封。如:在连接情况下,使用查封(seize)命令,操作的结果仍是传送:原主控不再是主控,目标成为新的主控。



二、转移GC



       GC不具有唯一性,可在AD站点和服务中,将DC2设为GC。操作如下:



1、在Default-First-Site-Name/servers/dc2/NTDS Settings/右键/属性。



2、选中“全局编录”。



3、你会看到在选项下面的说明:发布全局目录所需要的时间取决您使用的复制拓扑。



说明:不要急于把DC1断开,应等待足够长的时间,局域网环境一般也就是几分钟。是否将GC的内容成功传送,可在DC2上查看注册表



HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/NTDS/Parameters下是否有这样一条:Global Catalog Promotion Complete=1。若未传送完,没有这一条。






Q20、如何进行AD的备份与恢复






       最好的办法是作为系统状态数据的一部分,利用2000/03自带的备份工具来进行备份/恢复。备份工具位于:开始/程序/附件/系统工具下。利用备份/恢复系统状态数据,可以恢复之前的域用户帐户数据和DNS,以及安全设置、组策略设置、还有配置等等。但DHCP、WINS等需要单独备份。
说明:



1、  DNS区域必须为AD集成区域,如果不是,在备份之前,将标准主区域转成AD集成区域即可。因为AD集成的意思就是:将DNS区域信息,作为AD的一部分进行存储、复制。



2、  管理工具下有关AD和域的管理工具的快捷方式不会被恢复(03仍未解决这个问题),可以运行2000S光盘I386/adminpak.msi,将所有的域管理工具追加上。也可手动开始/运行/MMC,添加相应的管理工具,如DNS、AD用户和计算机等。



3、  重装的2000/03系统,不必安装AD,直接恢复就行。开机,F8,目录恢复模式,恢复大约需要4-5分钟。(实际当中我也试了,新装的系统,没有安装AD,在正常启动模式下恢复也可以,因为它根本没有AD,不涉及到AD正在工作,不允许替换的问题,只不过时间会稍长一些,约7-8分钟)



4、  2000下利用备份工具恢复系统状态数据时,需要手动将“如果文件已存在:不替换”改为“如果文件已存在,总是替换”。



具体操作:工具/选项/还原:选择“无条件替换本地上的文件”。否则2000在恢复时,可能不会把winnt/sysvol/sysvol(里面是组策略具体的设置值,被称为GPT)给恢复回来。03DC上没有这个问题,系统会自动提示是否替换,选择“是”即可。



5、具体备份/恢复的步骤,参考下例。

Q21、如何进行授权恢复



       首先我们通过一个例子,来说明一下什么是授权恢复。



设域内有不止一台DC,管理员误删除了一个OU,然后用以前的AD备份进行了恢复操作。如果不做什么特别的设置(即授权恢复),当DC间进行AD同步时,由被恢复的数据是以前的,AD的版本号低,将被其它DC的高版本内容所覆盖。这样刚被恢复的OU就又被删掉了。



所以我们需要手动通过ntdsutil工具指定对这个OU对象进行授权恢复,系统将按距备份时间每隔一天100000的标准来增加其AD版本号,确保一定高于其它DC上的版本号。



具体操作如下:



1、重启DC,按F8,选择目录恢复模式



2、用目录恢复模式下的管理员SAM帐号登录



3、开始/程序/附件/系统工具/备份,在恢复标签下进行“系统状态数据”的恢复



4、若此时重新启动DC,则以上为正常恢复,即非授权恢复。



若要进行授权恢复,则此时一定不要重启DC



4、开始/运行:ntdsutil



5、键入authoritative restore,到授权恢复提示符



6、键入restore subtree 对象DN(也可以是子树,甚至是整个AD)



7、退出Ntdsutil



8、重新正常启动DC。



说明:若要进行系统卷SYSVOL(主要是组策略设置)的授权恢复,即将组策略恢复到以前的状态,但AD库要保留当前。不必使用Ntdsutil,直接将AD库恢复到其它位置即可,这是因为系统状态数据在备份/恢复时,不能进行细化的选择。






Q22、如何移动、整理AD数据库?






一、移动AD数据库



       将 Ntds.dit 数据文件移动到指定的新目录中并更新注册表,使得在系统重新启动时,目录服务使用新的位置。系统为了安全起见,并不删除原来的数据库。具体操作如下:



1、为了以防万一,最好备份AD。



2、重启DC,按F8,选择目录恢复模式



3、用目录恢复模式下的管理员SAM帐号登录



4、开始/运行:ntdsutil



5、输入files,切换到文件提示符files>下



6、输入 move DB to c:/ folder



7、移动Ntds.dit成功提示。



8、输入quit二次,退出



9、重新正常启动DC






二、整理AD数据库



       将调用 Esentutl.exe 以压缩现有的AD库文件,并将压缩后的AD库文件写入到指定文件夹中。压缩完成之后,将保留原来的AD库文件,将新的压缩后的AD库文件保存到到该文件的原来位置。



另外顺便说明一下,ESENT也支持联机压缩,目录服务定期(默认12小时)调用联机压缩,但联机压缩只是重新安排数据文件内的页面,并不能象手动压缩这样:将空间释放回文件系统。



       整理AD数据库具体步骤如下:



1-5步,与前面相同。



6、输入compact to c:/folder



7、显示整理碎片,直至完成。



8、输入quit,退出。



9、对于2000需要:复制新的NTDS.DIT文件覆盖旧的NTDS.DIT文件



10、重新正常启动DC2-3-4组策略应用相关实例






关于组策略应用的实例,那真是三天三夜也说不完,因为总共有600+200多条策略。在此仅举几例,来说明问题。有的比较简单,有的稍微复杂一些,我们会展开来讨论一下。需要强调的是,作为管理员平时要多看看组策略中具体都有哪些设置,当然谁也不可能逐条去实践去测试,但要大概有个印象。当有某种需求时,你才会想起某条组策略设置来,根据印象找到那条策略,先看说明标签,再具体实践,逐步积累。

       前面我们讲过安全策略是组策略的子集(一部分),我们会首先讨论和安全策略相关的实例,然后才是其它的策略。






Q1、普通域用户无法在DC上登录?






       为了保护域控制器,默认能在DC上登录的用户只有:Administrators、Account operators、Backup operators、Server operators、Print operators这些特定的管理组。要想使普通域用户有权在DC上登录,可以将其加入到这些组中。

       但更多时候,我们不想让用户有过多的权利权限,也可以在开始/程序/管理工具/域控制器的安全策略/本地策略/用户权利分配/允许在本地登录下通过添加,指派其在DC上登录的权利即可。




Q2、在03域中添加用户时,总是提示我不符合密码策略,怎么办?






对于03,默认域的安全策略与2000域不同。要求域用户的口令必须符合复杂性要求,且密码最小长度为7。口令的复杂性包括三条:一是大写字母、小写字母、数字、符号四种中必须有3种,二是密码最小长度为6,三是口令中不得包括全部或部分用户名。

我们可以设置复杂一些的密码,也可以重新设默认域的安全策略来解决。操作如下:

开始/程序/管理工具/域安全策略/帐户策略/密码策略:

¨       密码必须符合复杂性要求:由“已启用”改为“已禁用”;

¨       密码长度最小值:由“7个字符”改为“0个字符”。

欲策略设置马上生效,可利用gpupdate进行刷新。(具体见前)

       如果添加的是本地用户,解决办法与此相同,只不过修改的是本地安全策略。




Q3、在2000/03域中,前网管设置了一个开机登陆时的提示页面,已过时,现想取消,如何操作?





by clin003 at 20070427 from:http://blog.csdn.net/clin003
登录到本机时出现,则在管理工具/本地安全策略,或开始/运行:gpedit.msc中配置。若是登录到域时出现,则在管理工具/域的安全策略,或AD用户和计算机/属性/组策略中配置。具体会涉及到:安全设置/本地策略/安全选项下的这两条,

¨       交互式登录:用户试图登录时消息标题

¨       交互式登录:用户试图登录时消息文字




Q4、如何设置不让用户修改计算机的配置(如TCP/IP等)?






可以利用本地策略或基于域的组策略锁定,具体操作:

1、  本地:开始/运行:gpedit.msc。或

2、  域:开始/程序/管理工具/AD用户和计算机/域名上/右键/属性/组策略/默认域的组策略

3、在用户配置/管理模板/网络/网络及拨号连接:禁止访问LAN连接的属性。

说明:

1、  若利用本地策略实现,本地管理员,可以重新设置策略解开。

2、  若利用域策略实现,只是域用户受此限制。本地管理员,不受此限制。

所以应该不给用户本地管理员口令,让用户以非本地管理员/域用户身份登录。为了保证用户能安装软件或做其它管理工作,可将其加入本地的Power Users组。




Q5、非管理员用户无法登录到终端服务器?






       欲使用户能利用“终端服务客户端软件”或“远程桌面”登录到2000/03 Server,对于2000S需要在服务器上安装终端服务,对于03S只需在我的电脑/右键/属性/远程/远程桌面下,选中“允许用户远程连接到这台计算机”即可。对于管理员默认即可通过TS登录进来。

       非管理员用户通过终端服务无法登录,除了网络连接方面的问题以外,主要有以下五个方面的原因:

1、终端服务器同时是DC,而普通用户无权在DC上登录。



       解决办法:具体见前。

2、安全策略/本地策略/用户权利分配:通过终端服务允许登录。



       这是03特有的,2000没有这条安全策略。解决办法,

方法一、在我的电脑/右键/属性/远程/远程桌面下,选中“允许用户远程连接到这台计算机”选项后,单击“选择远程用户”/添加。用户将被自动加入到Remote Desktop Users组,而这个组默认有“通过终端服务允许登录”的权利。

方法二、手动将用户加入到Remote Desktop Users组

方法三、手动直接指派用户“通过终端服务允许登录”的权利

注意:如果终端服务器同时是DC,必须使用方法三。原因是为了保护DC,DC上的本地安全策略里,只允许Administratrs组有此权利,而将Remote Desktop Users组删掉了。

3、开始/程序/管理工具/终端服务配置/RDP-Tcp/右键/属性/权限。



       解决办法:手动将用户加入到Remote Desktop Users组,或确保用户在此权限下有来宾访问或用户访问的权限。

4、用户所用帐号口令为空。



       若终端服务器为03,用户使用此服务器上的本地帐号、且口令为空,通过TS登录。由于03本地安全策略/本地策略/安全选项/帐户:使用空白密码的本地帐户只允许进行控制台登录,默认启用,这将会阻止用户登录。解决办法:使用非空密码或禁用此策略。

       顺便提一下,这也是常见的通过网络访问XP/03上的共享资源,不通的原因之一。

5、所用帐号属性/终端服务配置文件/“允许登录到终端服务器”选项。



       这个选项,默认就是选中的,除非有人动过。解决办法:手动选中即可。

6、还有两种可能:
(1)2000:未安装TS服务;03:未启用远程桌面
(2)03:启用了ICF,但未设允许RDP进入

Q6、在2000(也仅是2000)中由于禁止本地登录权利而导致的所有用户、管理员无法登录。






       在安全策略/本地策略/用户权利分配下有两条策略:

¨       拒绝本地登录,默认为“未定义”。

¨       允许在本地登录,其默认值分别为:

u       本地计算机策略:Administrators、Backup Operators、Power Users、Users

u       默认域的策略:未定义

u       默认域控制器的策略:Administrators、Account Operators、Backup Operators、Server Operators、Print Operators、IUSR_dcname

       说明:如果在同一级别上、对同一对象(用户或组)、同时设置了“允许”和“拒绝”,“拒绝”权利的优先级别高。也就是说二者冲突时,“拒绝”权利生效。




假设不小心或干脆有人使坏在拒绝本地登录上设置了所有人或管理员,又或者在允许登录上把管理员给删掉了。不论哪一种情况都会导致管理员无法登录,出错提示为:“此系统的本地策略不允许您采用交互式登录”,也就没办法将策略设置改回正常了。

这种情形看起来像一个解不开的"死结":要解除禁止本地登录的组策略设置,必须以管理员身份本地登录;要以管理员身份本地登录,就必须先解除禁止本地登录的组策略设置。

问题还是有办法解决的,分别讨论如下:




一、被域策略和域控制器策略所阻止



       显然你应该是被域策略和域控制器策略同时阻止了登录权利,因为:

1、如果只是域策略阻止,由于默认域控制器的策略上允许Administrators登录,而域控制器(Domain Controllers)是个OU,前面我们讲过组策略的LSDOU原则,所以管理员可以登录到DC上,把策略改回去。

2、如果只是域控制器的策略阻止,它只对DC生效。管理员可以在域内的其它计算机上登录到域,把策略改回去。

要解决被域策略和域控制器策略同时阻止,首先我们来回顾一下前面讲过的“具体的策略设置值存储在GPT中,位于DC的winnt/sysvol/sysvol中,以GUID为文件夹名。”其中安全设置部分保存在DC的winnt/sysvol/sysvol/你的域名/Policies/策略的 GUID/MACHINE/Microsoft/Windows NT/SecEdit/GptTmpl.inf这个安全模板文件中。它实质就是一个文本文件,可利用记事本进行编辑。

说明:前面我们介绍过,默认域的策略、默认域控制器的策略使用固定的GUID,分别是:

¨       默认域的策略的GUID为31B2F340-016D-11D2-945F-00C04FB984F9

¨       默认域控制器的策略的GUID为6AC1786C-016F-11D2-945F-00C04FB984F9。




可以利用C盘的隐含共享C$,或winnt/sysvol/sysvol的共享sysvol连过去,直接编辑,具体操作如下:

1、在另一台联网的计算机(Win9X/2000/XP均可)上,使用域管理员账号连接到DC。

2、利用记事本打开GptTmpl.inf文件。

3、找到文件中[Privilege Rights]小节下的拒绝本地登录“SeDenyInteractiveLogonRight”和允许在本地登录“SeInteractiveLogonRight”关键字,进行编辑即可。如:

¨       使SeDenyInteractiveLogonRight所等于的值为空。

¨       保证SeInteractiveLogonRight= *S-1-5-32-544,……

4、保存退出。

说明:



1、关于各SID所表示的意义,参见前面的表格。SID前面的*要保留,系统执行时才不会其后面的SID当作具体的用户/组的名字。

2、如果域中不止一台DC,为保证DC同步时刚才所做的修改最终生效(原理同授权恢复),需要:

(1)打开winnt/sysvol/sysvol/你的域名/Policies/刚刚所修改策略的 GUID/ GPT.INI文件

(2)找到文件中的[General]小节下的“Version”,手动将其值增大,通常是加10000。这是我们修改的这个组策略对象的版本号,版本号提高后可以保证我们的更改被复制到其它DC上。

(3)保存退出。

5、重新启动DC,域策略将被刷新。

说明:也可以在DC上运行secedit /refreshpolicy machine_policy /enforce刷新策略,这样就不必重启DC了。但需要用到telnet,细节参考前面telnet命令和接下来的内容。

6、以域管理员身份在DC上正常登录到域,重新设置安全域策略中的相关项目。




二、被本地安全策略所阻止



       很多人都会想到利用MMC远程管理功能,重设目标机的安全策略。具体操作如下:

开始/运行/MMC/添加/组策略/浏览/计算机/另一台计算机,如果有权限的话,你会发现你能找到并管理其它的策略设置,但是就是没有安全策略等项目出现在列表中。

       这是由于在Windows2000中,不支持对计算机本地策略的安全设置部分进行远程管理。而且本地安全策略设置的实现也与域策略不同,它存放在一个二进制的安全数据库secedit.sdb。

那么我们该怎么办呢?我们可以使用telnet连接到故障计算机上,利用前面我们介绍过secedit命令导出安全设置到安全模板,即扩展名为.inf的文本文件中。利用记事本编辑后,再利用secedit命令将修改后的安全设置配置给计算机,这样也就大功告功了。但如果故障计算机上的telnet服务没有启动,那么我们应该首先把故障计算机上telnet服务启动起来,才能连过去。

说明:因为telnet服务的启动类型,默认为手动,所以正常情况下它是不会启动的。此时连过去的出错信息为:正在连接以xxx不能打开到主机的连接,在端口23:连接失败。

综上所述,具体解决办法如下:

1、在另一台联网的计算机(2000/XP/03均可)上,修改其管理员密码,使用户名和口令均与故障计算机上的相同。(这主要为了方便,若在连接或使用的时候输入目标计算机上的用户名和口令,也可以)

2、注销后,重新登录进来。

3、我的电脑/右键/管理,打开计算机管理。

4、在计算机管理上/右键/连接到另一台计算机:故障计算机IP。

5、在服务下找到telnet,手动将它启动起来。

接下来使用telnet连接过来

6、开始/运行:cmd,键入telnet 目标IP

7、在C:/>提示符下,键入secedit /export /cfg c:/sectmp.inf,导出它的当前安全设置。

8、点击开始/运行://目标IP/C$,双击c:/sectmp.inf,用记事本打开。

9、编辑sectmp.inf文件,具体同前面情况一的步骤3

10、回到步骤7的命令窗口,键入secedit /configure /db c:/sectmp.sdb /CFG c:/sectmp.inf将修改后的设置值,配置给计算机。

11、运行secedit /refreshpolicy machine_policy /enforce刷新策略,这样就不必故障计算机了。

12、以本地管理员身份在故障计算机上正常登录到域,重新设置安全域策略中的相关项目。


最后说明一下:对于XP/03不存在上述问题,微软已经修正了这个问题。用户不能阻止所有人或管理员登录,在图形界面下根本设不上;使用其它手段强行设上了也不起作用。因此大家可以想一想,针对上面第一种情况,实际上可以加一台XP/03到2000域,在XP/03上登录到域,将其解开。

本例的实际排错意义并不大,但建议大家最好还是能把这个实验做一下,因为它涉及到了很多知识点,如:基于域安全策略、本地安全策略的实施原理,组策略及其优先级,权利、SID,还有同名同口令帐户登录、telnet、secedit工具的使用等等。再有大家也可以做一下实验,既然我们能通过网络解开,同样也能通过网络设上。

Q7、Win2000/03域中默认策略被误删,如何恢复?


       对于Win2000,微软在“下载中心”提供了Windows 2000默认策略还原工具的下载。微软开发这一工具旨在帮助用户在意外删除默认策略时,能够重新还原“默认缺省域的组策略”和“默认域控制器的组策略”文件。请到下列地址下载相应工具:

http://www.microsoft.com/downloads/details.aspx?FamilyID=b5b685ae-b7dd-4bb5-ab2a-976d6873129d&DisplayLang=en

对于Win03,微软提醒用户不要将其应用于Windows Server 2003上。Win03自带的Dcgpofix.exe就可以完成还原任务。

需要强调的是:作为管理员应及时将组策略的设置进行备份。可利用2000/03自带的备份工具,把组策略作为系统状态的一部分进行备份。也可以利用GPMC工具专门备份组策略的设置。这样即使出问题了,重新恢复,也不用再把组策略重新设置了。

Q8、作为管理员,我通过组策略设置了一些限制,如“不要运行指定的windows应用程序”,但总有个别用户在网上能找到破解的办法,我该怎么办?



这段话使我想起了关于网络安全一条名言:没有绝对的安全。我个人也觉得在计算机网络世界里,永远是高手在蒙低手。若水平都很高,那么最终的安全又回到了物理安全设置上(术语叫:社会工程)。下面以“不要运行指定的windows应用程序”这条组策略设置的攻防转换,来阐明这个问题


第一回合:


       管理员:通过本地策略限制某用户运行某些用户程序,如QQ、反恐、realplay等。操作:开始/运行,键入gpedit.msc,用户配置/管理模板/系统/不要运行指定的windows应用程序,启用/显示/添加:上述应用的.exe文件名即可。

       用 户:用户如果知道管理员怎么设置的限制,同样的办法取消限制即可。




第二回合:


       管理员:将mmc.exe也加入到上述禁止运行列表中,使用户无法打开任何MMC管理控制台。

       用 户:开始/运行:cmd,键入mmc,将会打开控制台下,文件/添加删除管理单元,添加:组策略对象编辑器/本地计算机策略,取消限制。

       说明:用户在CMD方式下,直接键入gpedit.msc仍不能运行。此解法的知识点来自这条策略的说明标签。

第三回合:

       管理员:将cmd.exe也禁止运行

       用 户:重新启动计算机,按F8,选择带命令行的安全模式。登录进来后,在CMD方式下,键入mmc,将会打开控制台下,文件/添加删除管理单元,添加:组策略对象编辑器/本地计算机策略,取消限制。


第四回合:


       管理员:一看不行了,还是借助于基于域的组策略吧。将用户计算机加入到域,不给用户本地管理员的口令,要求用户使用一个域用户帐号(为不影响用户的其它正常应用,可将其加入到客户机的Power Uers组),并将此域用户帐号放到一个OU中,链接组策略,设置上述限制。

       用 户:手动删除注册表HKEY_CURRENT_USER/Software/Microsoft/Windows/
CurrentVersion/Policies/Explorer/DisallowRun下的被禁用的程序。


第五回合:


       管理员:因为默认情况下,若用户手动修改注册表中的组策略设置值,若策略未变,组策略不负责强制改回。管理员可利用组策略/计算机配置/管理模板/系统/组策略/注册表策略处理,设置成“即使尚未更改组策略对象也进行处理”,执行强制性的、周期性刷新策略。

       用 户:用户修改程序文件名,以避开策略的限制(尤其是对非MS的应用程序)。

第六回合:

       管理员:设置权限,让用户无权修改文件名。



       用   户:利用用凤凰启动盘重设本地管理员密码,以本地管理员登录进来后,不受上述限制,也可以干脆脱离域



第七回合:


管理员:在BIOS中禁用光驱并设上BIOS密码,或物理断开光驱。

用 户:打开机箱,跳线清除BIOS密码,或物理连接上光驱。



==========================================
全局组、域本地组、通用组到底有什么区别  
问:全局组、域本地组、通用组到底有什么区别?它们之间的关系如何?

答:很多初级网管员对全局组、域本地组、通用组之间区别、关系比较模糊。对于这个问题我们首先要明确全局组、域本地组、通用组的的作用范围。

全局组:可以全局使用。即:可在本域和有信任关系的其它域中使用,体现的是全局性。MS建议的规则:基于组织结构、行政结构规划。

域本地组:只能在本域的域控制器DC上使用。MS建议的规则:基于资源(夹、打印机……)规划。

在域的混合模式下,只能把全局组加入到域本地组,即AGDLP原则。

注意:2000/03域的默认模式为:混合模式。则域本地组:只能在本域的域控制器DC上使用。若域功能级别转成本机模式(或称2000纯模式),甚至03模式,域本地组可在全域范围内使用。

说明:全局组和域本地组的关系,非常类似于域用户帐号和本地帐号的关系。域用户帐号,可以全局使用,即在本域和其它关系的其它域中都可以使用,而本地帐号只能在本地机上使用。下面我来举两个例子来进一步说明(以混合模式下为例):
  例1:将用户张三(域帐号Z3)加入到域本地组administrators中,并不能使Z3对非DC的域成员计算机有任何特权,但若加入到全局组Domain Admins中,张三就是域管理员了,可以在全局使用,对域成员计算机是有特权的。
  例2:只有在域的DC上,对资源(如:文件/夹)设置权限,你可以指派域本地组administrators;但在非DC的域成员计算机上,你是无法设置域本地组administrators的权限的。因为它是域本地组,只能在DC上使用。

通用组:组的成员情况,记录在全局目录GC中,非常适于林中跨域访问使用。集成了全局组和域本地组的长处。
 
 
 
 
-----------------------------------------------
进一步理解域  
A.OU(组织单元)与Group(组)之对比
首先我们要明确OU与Group是完全不同的概念,OU的主要是为进行管理上层次组织以及组策略的实施而设立的容器。简单的说,你不能为一个OU设置权限,但是,你可以为一个OU指定组策略,并且,你可以为一个OU将权力委派控制(在2000中是这么说的,但说成是“下放”也不为过)给特定的用户,组,或计算机(有点儿象人事部?),让他(她,它)们对OU内的成员有额外的权利。
Group相比起OU,分类更为复杂一些。但你可以为组分配权力和权限,这一点OU是做不到的。微软对组的作用的解释是:
1.管理用户和计算机对资源(网络共享、文件、目录、打印机,以及AD内对象的属性)的访问。
2.建立 E-Mail 发送列表。
3.过滤(或筛选)组策略
总而言之,一句经典的话可以概括OU与Group的不同
--------------------------------------------
OU定义的是谁可以管理我
组定义的是我可以管理谁
--------------------------------------------

B.现在我们明确了Group和OU的区别,下面我们来说一下组作用域和组类型的问题。

1.组作用域
组作用域分为三类:Domain Local Group(本地域),Global Group(全局),Universal(通用)。这三类之间的区别,又要分为两种域模式Native Mode(本地模式)和Mixed Mode(混合模式)的不同来区别对待。
通用作用域
-----------------
在本机模式域中,可将其成员作为来自任何域的帐户、来自任何域的全局组和来自任何域的通用组。
在本机模式域中,不能创建有通用作用域的安全组。
组可被放入其他组(当域处于本机模式时)并且在任何域中指派权限。
不能转换为任何其他组作用域。

全局作用域
-----------------
在本机模式域中,可将其成员作为来自相同域的帐户和来自相同域的全局组。
在本机模式域中,可将其成员作为来自相同域的帐户。
组可被放入其他组并且在任何域中指派权限。
只要它不是有全局作用域的任何其他组的成员,则可以转换为通用作用域。

域本地作用域
----------------
在本机模式域中,可将其成员作为来自任何域的帐户、全局组和通用组,以及来自相同域的域本地组。
在本机模式域中,可将其成员作为来自任何域的帐户和全局组。
组可被放入其他域本地组并且仅在相同域中指派权限。
只要它不把具有域本地作用域的其他组作为其成员,则可转换为通用作用域。
以上表从微软Windows 2000帮助中摘来,可以看到在本机模式下组的功能有多么强大,而在混合模式中,你仅仅可以做到以下:将全局组加入域内本地组。微软推荐这样的一套管理策略:A G DL P 也就是说:
a.根据管理需要建立全局组(Global Group),同时将用户加入全局组内
b.建立域本地组(Domain Local Group),将全局组加入不同的域本地组内
c.将资源的权限给予域本地组。
事实上,对处于混合模式的域来说,这样的管理出现以下的危机:你只能将本地(域控制器上)文件夹的权限以域本地组,而对成员服务器(没有装AD的服务器)而言,个人在AD中建立的域本地组是不可见的。这样的话,只能在DC上给域本地组指派权限,而无法在成员服务器上给域本地组指派权限,这样新建的域本地组岂不是根本没用。

2.组类型
Windows 2000 的域拥有两种组类型,安全组(Security Groups)与分布组(Distribution Groups)。然而,事实上操作系统用到的只有安全组,你可以给安全组赋权,默认情况下我们建立的也是安全组。
你不能把对象的权限给予分布组,分布组主要是为某些应用程序准备的,而且此应用程序不能用做安全用途。当你需要给同一组的人发送邮件时可能会用到它,这时当然不会涉及到安全问题。

Windows 2003中分布组叫做通讯组
可以组合使用全局组、域本地组和通用组,以控制对网络资源的访问。全局组的基本用途是把用户组织到代表其相应域的管理容器之中。通用组可以用于包括来自各种域的全局组,进而在授予权限时进一步管理域层次结构。可以全局组添加到通用组中,然后给资源在物理上所在域本地组分配权限。使用这些方法创建组,管理员就可以在每个域的全局组中添加或删除用户,对整个企业资源的访问进行控制,而无需在多个位置进行更改。

再抄一个过来,这个解释的通俗些
全局组、域本地组、通用组到底有什么区别?它们之间的关系如何?

很多初级网管员对全局组、域本地组、通用组之间区别、关系比较模糊。对于这个问题我们首先要明确全局组、域本地组、通用组的的作用范围。
全局组:可以全局使用。即:可在本域和有信任关系的其它域中使用,体现的是全局性。MS建议的规则:基于组织结构、行政结构规划。

域本地组:只能在本域的域控制器DC上使用。MS建议的规则:基于资源(夹、打印机……)规划。

在域的混合模式下,只能把全局组加入到域本地组,即AGDLP原则。

注意:2000/03域的默认模式为:混合模式。则域本地组:只能在本域的域控制器DC上使用。若域功能级别转成本机模式(或称2000纯模式),甚至03模式,域本地组可在全域范围内使用。

说明:全局组和域本地组的关系,非常类似于域用户帐号和本地帐号的关系。域用户帐号,可以全局使用,即在本域和其它关系的其它域中都可以使用,而本地帐号只能在本地机上使用。下面我来举两个例子来进一步说明(以混合模式下为例):
例1:将用户张三(域帐号Z3)加入到域本地组administrators中,并不能使Z3对非DC的域成员计算机有任何特权,但若加入到全局组Domain Admins中,张三就是域管理员了,可以在全局使用,对域成员计算机是有特权的。
例2:只有在域的DC上,对资源(如:文件/夹)设置权限,你可以指派域本地组administrators;但在非DC的域成员计算机上,你是无法设置域本地组administrators的权限的。因为它是域本地组,只能在DC上使用。

通用组:组的成员情况,记录在全局目录GC中,非常适于林中跨域访问使用。集成了全局组和域本地组的长处。

AGDLP
A (account):用户帐户
G (Global group):全局组
DL (Domain local group):域本地组
P (Permission):许可
按照AGDLP的原则对用户进行组织和管理起来更容易
在AGDLP形成以后当给一个用户某一个权限的时候,只要把这个用户加入到某一个本地域组就可以了

域本地组 生效范围 域本地组所属的域。
全局组 本域和所有被信任的域。
通用组 森林中所有的域。

域模式不同,可成为的成员不同。
域本地组成员的生效范围是本域,主要用于权限访问的ALP策略。
单域环境下直接把用户账号加入全局组,给全局组赋予权限就可以了。

作用域 可见性 可包含
域本地 域 用户、域本地、全局或通用组
全局 林 用户或全局组
通用 林 用户、全局或通用组

组是可包含用户、计算机和其他组的活动目录或本机对象。使用组可以控制和管理用户和计算机对活动目录对象及其属性、网络共享位置、文件、目录、打印机等共享资源的访问,还可以向一组用户发送电子邮件。
  在Windows 2000域中,组根据其类型可以分为安全组(Securiy Group)和分布组(Distribution),根据其范围又可以分为全局组(Global Group)、域本地组(Domain Local Group)和通用组(Universal Group)。组的类型决定组可以管理哪些类型的任务,组的范围决定组可以作用的范围。
  1. 组的类型
  (1)分布组:分布组一般用于组织用户。使用分布组可以向一组用户发送电子邮件,由于它不能用于与安全有关的功能,不能列于资源和对象权限的选择性访问控制表(DACL)中。因此,只有在电子邮件应用程序(如Exchange)中才用到分布组。
  (2)安全组:安全组一般用于与安全性有关的授权功能。使用安全组可以定义资源和对象权限的选择性访问控制表(DACL),控制和管理用户和计算机对活动目录对象及其属性、网络共享位置、文件、目录和打印机等资源和对象的访问。安全组中的成员会自动继承其所属安全组的所有权限。
  安全组具有分布组的全部功能,也可用作电子邮件实体。当向安全组发送电子邮件时,会将邮件发给安全组的所有成员。
  2. 组的范围
  (1)全局组:全局组的成员关系和范围如表1。

表1 全局组的成员关系和范围

混合模式 本机模式
可包含的成员 本域中的用户账号  
可加入的组 域本地组  
作用范围 在本域和所有的信任域中都是可见的
权限范围 森林中所有的域

(2)域本地组:域本地组的成员关系和范围如表2。

表2 域本地组的成员关系和范围

混合模式 本机模式
可包含的成员 任何域中的用户账户和全局组 森林中任何域中的用户账户、全局组和通用组
以及本域中的域本地组
可加入的组 不能是任何组的成员 本域中的域本地组
作用范围 只在其自己的域中可见
权限范围 域本地组所在的域

(3)通用组:域本地组的成员关系和范围见表3。
表3 域本地组的成员关系和范围

混合模式 本机模式
可包含的成员 不能创建通用组 森林中任何域中的用户账户、全局组和其他的通用组
可加入的组 不能创建通用组 任何域中的域本地组和通用组
作用范围 在森林中的所有域中都是可见的
权限范围 目录林中的所有域

如果要在域目录林中实现对于资源(可以是文件夹或打印机)的访问授权,推荐使用 “AGDLP”规则。即首先把用户账户(Account)加入到全局组(Global group),然后把全局组加入到域本地组(Domain Local group,可以是本域或其他域的域本地组),最后,对于域本地组进行授权(Permissions)。

到了现在,你可能在想“为什么我要用其它组类型,而不用通用组?它给了我要的一切!”答案是,因为通用组和它的成员被列在全局编目里 (GC)。

  每次GC在你的森林的域之间复制时,都包括通用组的成员。与通用组类似,全局组和域本地组也被列在GC里,但是,它们的成员并不列在GC中。通过在合适的位置使用全局组和域本地组,你能够减小你的AD DC的尺寸,这样就会明显地降低保持GC最新所产生的复制流量。

  在选择组范围时,应当仔细选择。在你的域运行在混合模式下时,你不能改变组的范围。如果你运行在纯(Native)模式,就允许你把全局组转变通用组,前题是全局组不是另外一个全局的成员,也可以把域本地组转变成通用组,前提是域本地组中不包括另一个域本地组作为它的成员。

  现在知道了组的范围,再让我们简略地谈谈建立新组最简单的部分-组的名称。在你为组起名时,全局组和域本地组在你创建它们的域里必须是唯一的。而通用组,则必须在整个森林里是唯一的。 特别注意的是,由于GC中不仅包含通用组,还包含有通用组的成员信息,因此每次对通用的修改(成员增加/删除),都会引发GC复制流量。所以,通用组的成员不要经常频繁的发生变化。否则会带来大量的复制流量。另外,WIN2000在登录时系统需要向GC查询用户的通用组成员身份,以生成访问令牌,所以在GC不可用时,WIN2000用户有可能不能正常访问网络资源