活动目录(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 "i5A 2sj*!"
objUser.AccountDisabled = FALSE
objUser.SetInfo
说明:在Management OU下创建一个名叫AckermanPila的用户,口令为i5A 2sj*!,启用。
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 "i5A 2sj*!"
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