AD域故障解决实例(上下)
活动目录(Active Directory)域故障解决实例(上)Q1、客户机无法加入到域一、权限问题。要想把一台计算机加入到域,必须得以这台计算机上的本地管理员(默认为administrator )身
活动目录(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 形式来访问时的故障,如在开始/运行:.63.243.1。
,前提:在网卡、协议、连接没问题的情况下。即在可ping 通的前提下,若.63.243.1不通,排错可从下面几个方面来考虑。
1、目标机的“Microsoft网络的文件和打印机共享”服务的问题。 提示:“.63.243.1 文件名、目录名或卷标语法不正确”。
检查:服务是否安装、是否选中,或重装一下。
操作:网上邻居/右键/属性/本地连接/右键/属性
2、由于访问相关的net logon、server 、workstation 服务务未正常启动的影响。
提示:
(1)若目标机(为域成员)上的net logon服务停了:“试图登录,但网络登录服务未启动”。
(2)若目标机上的server 服务停了:“.63.243.1 文件名、目录名或卷标语法不正确。”
(3)若本机的worstation 服务停了:“.63.243.1 网络未连接或启动”。连其它计算机,也是一样的提示。
检查:相应服务是否已经正常启动。
操作:我的电脑/右键/管理/服务和应用程序/服务下
3、由于本机与其它计算机重名(指NetBIOS 名称)的影响
提示:访问任何计算机均提示:“找不到网络路径”。
检查:重启一下,看是否有“网络中存在重名”的提示。可能上次开机时没注意给忽略了。
操作:我的电脑/属性/网络标识/属性/计算机名下,修改计算机名。
4、XP/03由于默认安全策略:“帐户:使用空白密码的本地帐户只允许进行控制台登录”的影响
提示:.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 分区。