电脑技术学习

活动目录(AD)域故障解决实例(一)

dn001

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–fdemo.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 –fmy.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)权限才行。