郑州商都网位置:Windows Active Directory 域故障排错(三)

来源:百度文库 编辑:偶看新闻 时间:2024/04/24 23:01:35
Windows Active Directory 域故障排错(三) 2008-02-23 00:04:54标签:ADWindows域Server2003
原创作品,允许转载,转载时请务必以超链接形式标明文章原始出处 、作者信息和本声明。否则将追究法律责任。http://zhangdonghui.blog.51cto.com/304753/62869
2-3-3活动目录(Active Directory)域故障解决实例
这部分内容将以实例的形式,介绍活动目录(Active Directory)的域故障排除,基本上遵循由易到难,由简到繁的顺序来讲解讨论。
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、  帐户复制可将在样板用户帐户设置的大多数属性带过来。具体如下:
选项卡
复制到新用户帐号的属性
常规
无。
地址
除了“街道”之外所有
帐户
除了“用户登录名”之外所有
配置文件
除“配置文件路径”和“主文件夹”。欲复制它们,应该使用%username%变量,如:\\server\share\%username%
电话

单位
除了“职务”之外所有。
隶属于
全部
拨入
无,将默认值应用于新帐户。
环境
无,将默认值应用于新帐户。
会话
无,将默认值应用于新帐户。
远程控制
无,将默认值应用于新帐户。
终端服务配置文件
无,将默认值应用于新帐户。
二、比较csvde与ldifde
csvde逗号分隔符目录交换
ldifde轻型目录访问协议互换格式目录交换
功能
只能用来添加对象,不能用于删除/修改
可用于添加/删除/修改对象
格式
字段名1,字段名2,字段名3,……
记录1此值,记录1此值,记录1此值,……
字段名1: 记录1此值
字段名2: 记录1此值
字段名3: 记录1此值
……
举例
Dn,objectclass,samaccountname,
userprincipalname,useraccountcontrol
“cn=s1,ou=test,dc=mcse,dc=com”,user,s1
s1@mcse.com,512
Dn: cn=s1,ou=test,dc=mcse,dc=com
Objectclass:user
Samaccountname:s1
Userprincipalname:s1@mcse.com
useraccountcontrol:512
共同点
用于导入的文本文件必须包含:
l         用户帐号的OU,对象的类型以及用户登录名的路径,用户主名
l         默认(即不指定时):用户帐户为禁用。启用:512,禁用:514
l         可包含个人信息,但不可包含密码,只能用默认的空口令。
l         或通过设pwdLastSet字段值为0,使“用户下次登录时须更改密码”(不设这个字段,默认也是如此)。
l         通过设userAccountControl字段值为66048,可使“密码永不过期”。
三、以csvde.exe为例说明:域用户帐户的导出/导入
操作步骤如下:
1、  在“AD域和计算机”中建一个用户,如S1。
2、  设置相关需要的选项,如所属的用户组、登录时间、用户下次登录时需更改密码等。
3、  在DC上,开始/运行:cmd
4、  键入:csvde  –f  demo.csv
说明:
(1)不要试图将这个文件导回,来验证是否好使。因为这个文件中的好多字段在导入时是不允许用的,如:ObjectGUID、objectSID、pwdLastSet 和 samAccountType 等属性。我们导出这个文件目的只是为了查看相应的字段名是什么,其值应该怎么写,出错信息如下:
objectGUID:写
UNPRINTABLEBINARY(16)
"由于安全原因不允许修改。"
objectSid:写
UNPRINTABLEBINARY(28)
"由于该属性处于“安全帐户管理器” (SAM),不允许访问该属性。"
(2)可通过-d –r参数指定导出范围和对象类型。例如:
-d “ou=test,dc=mcse,dc=com” 或 -d “cn=users,dc=mcse,dc=com”
-r “< Objectclass=user>”
5、  以上面的文件为参考基础,创建自己的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
………………,其它可用字段,我试了一下,见下表(不全):
用户帐户属性
字符名
说明
“常规”标签

Sn

Givename
英文缩写
Initials
显示名称
displayName
描述
Description
办公室
physicalDeliveryOfficeName
电话号码
telephoneNumber
电话号码:其它
otherTelephone
多个以英文分号分隔
电子邮件
Mail
网页
wWWHomePage
网页:其它
url
多个以英文分号分隔
“地址”标签
国家/地区
C
如:中国CN,英国GB
省/自治区
St
市/县
L
街道
streetAddress
邮政信箱
postOfficeBox
邮政编码
postalCode
“帐户”标签
用户登录名
userPrincipalName
形如:S1@mcse.com
用户登录名(以前版本)
sAMAccountName
形如:S1
登录时间
logonHours
见注释1
登录到
userWorkstations
多个以英文逗号分隔
用户帐户控制
userAccountControl
启用:512,禁用:514,66048
帐户过期
accountExpires
“配置文件”标签
配置文件路径
profilePath
登录脚本
scriptPath
主文件夹:本地路径
homeDirectory
连接
homeDrive

homeDirectory
“电话”标签
家庭电话
homePhone
若是其它,均在前面加other,如otherhomePhone
多个以英文分号分隔
寻呼机
Pager
移动电话
mobile, othermobil
传真
FacsimileTelephoneNumber
IP电话
ipPhone
注释
Info
“单位”标签
职务
Title
部门
Department
公司
Company
“隶属于”标签
隶属于
memberOf
用户组的DN不需使用引号,多个用分号分隔
“拨入”标签
远程访问权限(拨入或VPN)
msNPAllowDialin
允许访问
值:TRUE
拒绝访问
值:FALSE
回拨选项
msRADIUSServiceType
由呼叫方设置或回拨到
值:4
总是回拨到
msRADIUSCallbackNumber
“环境”、“会话”、“远程控制”、“终端服务配置文件”、“COM+”标签
说明:这些标签,平常极少用到,我也没试。如果需要可以自己导出来看一下,像一些复杂的字段,如:userParameters,还是用粘贴吧
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无法正常降级为成员服务器?
如果按照上例的要求,还是无法正常卸载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、重新正常启动DC
本文出自 “张东辉的博客” 博客,请务必保留此出处http://zhangdonghui.blog.51cto.com/304753/62869