如何使用 Visual c + + 中使用 ADSI 来以编程方式使计算机帐户

如何使用 Visual c + + 中使用 ADSI 来以编程方式使计算机帐户,第1张

本文介绍如何编写 Visual c + + 应用程序,它使用 Active Directory 服务接口 (ADSI) 通过在 LDAP 提供程序在 Windows 2000 域中创建计算机帐户。

步骤和示例代码,可使计算机帐户

将绑定到 LDAP: / / RootDSE。

生成计算机的容器使用 defaultNamingContext RootDSE 对象的属性和在已知的 GUID (WKGUID) 计算机的容器 (aa312825768811d1aded00c04fd8d5cd) 的 ADsPath。

通过请求 IDirectoryObject 接口绑定到计算机的容器。若要获取 IADsContainer 接口使用IDirectoryObject::QueryInterface 方法。

创建一个新的计算机对象,使用 IADsContainer::Create 方法。IADsContainer::Create 方法返回新的计算机对象的一个 IDispatch 指针。 ADsPath 用于创建新的计算机对象,并且必须包含前缀"CN ="在新计算机名。

通过使用 IADsContainer::Create 调用返回 IDispatch::QueryInterface 方法获得新的计算机对象的 IADsUser 接口。IADsUser 接口允许访问特定属性的新的计算机帐户,如 samAccountName、 AccountDisabled 和 IADsSecurityDiscriptor 界面非常容易。

设置计算机名 samAccountName 追加到结尾为"$"。

设置初始密码为新的计算机帐户使用 IADsUser::SetPassword 方法。初始机器帐户密码必须设置为在较低的情况下计算机的名称。

用户或组有权将计算机添加到域中添加 访问控制项。添加的代码示例将访问控制项权限授予受信者的完全权限。要添加计算机帐户,请使用 ADSI 用户和计算机的管理单元时,要授予最小的权限将计算机加入到域所需的 ACL 添加特定的访问控制项。 请注意,确定在最小访问权限 (访问控制项) 保留为练习的读取器。引用 ADSI 用户和 $ 计算机管理单元文档有关如何查看计算机帐户的扩展的权限的详细信息。

通过将 IADsUser::AccountDisabled 属性设置为零可启用计算机帐户。此步骤是必需的 Windows NT 4.0 的计算机帐户。如果该帐户被禁用的 Windows NT 4.0 计算机,然后计算机将不能加入到域中。这一步是可选的因为运行 Windows 2000 的计算机将尝试登录到网络后启用计算机帐户运行 Windows 2000 的计算机。

我来回答,在WINDOWS平台下域的安装配置:

把一台成员服务器提升为域控制器(一)

目前很多公司的网络中的PC数量均超过10台:按照微软的说法,一般网络中的PC数目低于10台,则建议建议采对等网的工作模式,而如果超过10台,则建议采用域的管理模式,因为域可以提供一种集中式的管理,这相比于对等网的分散管理有非常多的好处,那么如何把一台成员服务器提升为域控?我们现在就动手实践一下:

本篇文章中所有的成员服务器均采用微软的Windows Server 2003,客户端则采用Windows XP。

首先,当然是在成员服务器上安装上Windows Server 2003,安装成功后进入系统,

我们要做的第一件事就是给这台成员服务器指定一个固定的IP,在这里指定情况如下:

机器名:Server

IP:192.168.5.1

子网掩码:255.255.255.0

DNS:192.168.5.1(因为我要把这台机器配置成DNS服务器)

由于Windows Server 2003在默认的安装过程中DNS是不被安装的,所以我们需要手动去添加,添加方法如下:“开始—设置—控制面板—添加删除程序”,然后再点击“添加/删除Windows组件”,则可以看到如下画面:

向下搬运右边的滚动条,找到“网络服务”,选中:

默认情况下所有的网络服务都会被添加,可以点击下面的“详细信息”进行自定义安装,由于在这里只需要DNS,所以把其它的全都去掉了,以后需要的时候再安装:

然后就是点“确定”,一直点“下一步”就可以完成整个DNS的安装。在整个安装过程中请保证Windows Server 2003安装光盘位于光驱中,否则会出现找不到文件的提示,那就需要手动定位了。

安装完DNS以后,就可以进行提升 *** 作了,先点击“开始—运行”,输入“Dcpromo”,然后回车就可以看到“Active Directory安装向导”

在这里直接点击“下一步”:

这里是一个兼容性的要求,Windows 95及NT 4 SP3以前的版本无法登陆运行到Windows Server 2003的域控制器,我建议大家尽量采用Windows 2000及以上的 *** 作系统来做为客户端。然后点击“下一步”:

在这里由于这是第一台域控制器,所以选择第一项:“新域的域控制器”,然后点“下一步”:

既然是第一台域控,那么当然也是选择“在新林中的域”:

在这里我们要指定一个域名,我在这里指定的是demo.com,

这里是指定NetBIOS名,注意千万别和下面的客户端冲突,也就是说整个网络里不能再有一台PC的计算机名叫“demo”,虽然这里可以修改,但个人建议还是采用默认的好,省得以后麻烦。

在这里志要指定AD数据库和日的存放位置,如果不是C盘的空间有问题的话,建议采用默认。

这里是指定SYSVOL文件夹的位置,还是那句话,没有特殊情况,不建议修改:

第一次部署时总会出现上面那个DNS注册诊断出错的画面,主要是因为虽然安装了DNS,但由于并没有配置它,网络上还没有可用的DNS服务器,所以才会出现响应超时的现像,所以在这里要选择:“在这台计算机上安装并配置DNS,并将这台DNS服务器设为这台计算机的首选DNS服务器”。

“这是一个权限的选择项,在这里,我选择第二项:“只与Windows 2000或Window 2003 *** 作系统兼容的权限”,因为在我做实验的整个环境里,并没有Windows 2000以前的 *** 作系统存在”

这里是一个重点,还原密码,希望大家设置好以后一定要记住这个密码,千万别忘记了,因为在后面的关于活动目录恢复的文章上要用到这个密码的。

这是确认画面,请仔细检查刚刚输入的信息是否有误,尤其是域名书写是否正确,因为改域名可不是闹着玩的,如果有的话可以点上一步进入重输,如果确认无误的话,那么点“下一步”就正式开安装了:

几分钟后,安装完成:

点完成:

点“立即重新启动”。

然后来看一下安装了AD后和没有安装的时候有些什么区别,首先第一感觉就是关机和开机的速度明显变慢了,再看一下登陆界面:

多出了一个“登陆到”的选择框:

进入系统后,右键点击“我的电脑”选“属性”,点“计算机”

怎么样?和安装AD以前不一样吧,其它的比如没有本地用户了,在管理工具里多出么多图标什么的,这些将在以后的文章里讲述,这里就不再详谈了。

把一台成员服务器提升为域控制器(二)

在我的上一篇文章中,已经把一台名为Server的成员服务器提升为了域控制器,那我们现在来看一下如何把下面的工作站加入到域。

由于从网络安全性考虑,尽量少的使用域管理员帐号,所以先在域控制器上建立一个委派帐号,登陆到域控制器,运行“dsa.msc”,出现“AD用户和计算机”管理控制台:

先来新建一个用户,展开“demo.com”,在“Users”上击右键,点“新建”-“用户”:

然后出现一个新建用户的向导,在这里,我新建了一个名为“swg”的用户,并且把密码设为“永不过期”。

这样点“下一步”,直到完成,就可以完成用户的创建。然后在“demo.com”上点击右键,先择“委派控制”:

就会出现一个“委派控制向导”:

点击“下一步”:

点击中间的“添加”按钮,并输入刚刚创建的“swg”帐号:

然后点“确定”:

再点“下一步”:

在上面的画面中,暂时不需要让该用户去“管理组策略链接”,所以在这里,仅仅选择“将计算机加入到域”,然后点“下一步”:

最后是一个信息核对画面,要是没有什么问题的话,直接点“完成”就可以了。

接下来转到客户端,看看怎么把XP进来,在实验中采用的客户端 *** 作系统是Windows XP专业版,需要大家注意的是Windows XP 的Home版由于针对的是家庭用户,所以不能加入域,大家别弄错了哟,我们先来设置一下这台XP的网络:

计算机名:TestXP

IP:192.168.5.5

子网掩码:255.255.225.0

DNS服务器:192.168.5.1,

设置完网络以后,在“我的电脑”上击右键,选“属性”,点“计算机名”。

在这里把“隶属于”改成域,并输入:“demo.com”,并点确定,这是会出现如下画面:

输入刚刚在域控上建的那个“swg”的帐号,点确定:

出现上述画面就表示成功加入了,然后点确定,点重启就算OK了。来看一下登陆画面有没有什么不一样:

看到那个“登陆到”了吧,可以选择域登陆还是本机登陆了,在这里选择域“DEMO”,这样就可以用域用户进行登陆了。进入系统后,在“我的电脑”上击右键,选“属性”,点“计算机名”:

看到用黑框标出来的地方和没有加入到域的时候的区别的吧?

当把下面的客户端加入到域后,如果域控制器处于关闭状态或者死机的话,那么,会发现下面的客户机无法登陆到域,所以再建立一台域控制器,用来防止其中一台出现意外损坏的情况是很有必要的。后来建立的那台域控制器叫额外域控制器。来看看额外域控制器的建立过程吧:

当然网络设置永远是在第一步的:

计算机名:Bserver

IP:192.168.5.2

子网掩码:255.255.255.0

DNS:192.168.5.1

既然是提升为域控制器,那么DNS组件也是要添加的,添加方法和我的第一篇文章中所定的一样,这里就不再重复了。添加完成后,同样是点击“开始”-“运行”-“dcpromo”:

出现的向导和 *** 作系统兼容性同安装第一台域控时是一样的,唯一要注意的是下面的那个画面:

安装第一台时选择的是“新域的域控制器”,这里要选择的是“现有域的额外域控制器”,然后点“下一步”:

在这里,输入域的管理员帐号的密码,在“域”里填入相应域的DNS全名或NetBios名,点“下一步”:

在这里一定要填入现有域的DNS全名,然后再点“下一步”,接下去的 *** 作和安装第一台域控制器时是一样的,所以就不再写下去了,直到完成就可以了。至于在两台域控制器的域环境下,其中一台损坏,如何让另一台接替工作,我将在以后的文章一一详解。如果大家在前面的配置中碰到什么问题,欢迎大家给我发来E-Mail,,我的E-Mail地址是:hzswg@sohu.com。如果本人的文章中有什么错误之处,也请大家来信指正,谢谢!

活动目录之用户配置文件

关于域用户的开设在前面的文章中(如何把一台成员服务器提升为域控制器(一)、(二))已经涉及过了,所以在这里开设用户的方法就不再重复了,本篇文章主要向大家介绍一下用户配置文件。

首先,什么是用户配置文件?根据微软的官方解释:用户配置文件就是在用户登陆时定义系统加载所需环境的设置和文件和集合,它包括所有用户专用的配置设置。用户配置文件存在于系统的什么位置呢?那么用户配置文件包括哪些内容呢?来给大家看一副截图:

用户配置文件的保存位置在:系统盘(一般是C盘)下的“Documents and Settings”文件夹下,有一个和你的登陆用户名相同的文件夹,该用户配置文件就保存在这里,顺便提示一下,如果本机和域上有一个同名用户,并且都登陆过的话,那么就会出现在同名文件夹后面拖后缀的情况,举个例子:比如在一个域(demo.com)里面有一台计算机(testxp),本地有一个swg的帐号,域上也有一个swg的帐号,并且都登陆过这台计算机,那么会发生如下情况:

本地帐号先登陆:那么本地的swg的用户配置文件夹为swg,而域用户的用户配置文件夹为swg.demo。

域帐号先登陆:那么域用户的用户配置文件夹为swg,本地用户的配置文件夹为swg.testxp。

通过上面的截图,我们可看出,用户配置文件包括桌面设置、我的文档、收藏夹、IE设置等一些个性化的配置。另外需要说明的是在“Documents and Settings”文件夹下有一个名为“All Users”的文件夹,如果你在这个文件夹下的“桌面”文件夹下新建一个文件的话,你会发现所有用户在登陆时的桌面上都有这个文件,所以这个文件夹里的配置是对这台计算机的每个用户均起作用的。

当网络变成域构架后,所有的域用户可以在任意一台域内的计算机登陆,当你在一台计算机上的用户配置文件修改后,你会发现到另一台计算机上登陆时,所有的设置还是原来的,并没有发生修改,这是因为用户的配置文件是保存在本地的,不管是域用户还是本地用户,都是保存在那台登陆的计算机上。我们可以在“我的电脑”上击“右键”,选“属性”,点“高级”,然后在“用户配置文件”里点“设置”:

请注意“类型”里用红框标出的部分,全部是“本地”,这就说明用户配置文件保存在本地,那么如何才能让用户的配置文件随着帐号走,也就是不管用户在哪台计算机上登陆都能保持用户配置文件一致呢?为了解决这个问题,就要用到漫游用户配置文件,原理就是把用户配置文件保存在一个网络的公共位置,当用户在计算机上登陆里,会从网络公共位置把用户配置文件下载到本地并加以应用,然后当用户注销时,会把本地的用户配置文件同步到网络公共位置,以保证公共位置用户配置文件的有效性,以便下一次使用。那么如何来实现这个功能呢?现在就来实践一下:

首先,要在一个网络的公共位置开设一个共享文件夹,用来存放用户配置文件,在个实验里,就在域控制器上开设一个为share的共享文件夹,并开放权限:

然后,点击“开始-设置-控制面板-管理工具”,双击“AD用户和计算机”,并选中相应的用户,这里以“swg”帐号为例:

在“swg”帐号上双击,然后选“配置文件”,在“用户配置文件-配置文件路径”里输入:\\192.168.5.1\share\%username%,“192.168.5.1”是域控制器的IP地址,如下图所示:

然后点确定,接下去就到客户端去,用“swg”帐号登陆一下,看看会发生什么变化。

如上图所示,DEMO\swg的状态由刚刚的“本地”变成了“漫游”,此时注销一下用户,那么就会自动的将该用户的本地用户配置文件同步到网络公共位置,如果再用“swg”到另外的域内计算机上去登陆的话,会发现所有的用户配置文件和这台计算机上是一样的。那么服务器上发生了些什么变化呢?

如上图所示,服务器的“share”文件夹里会自动创建一个和用户名一样的“swg”文件夹,默认情况下这个文件夹只允许对应的用户打开:

画面很熟悉吧?

目前很多公司的IT Pro都有共同的感叹,就是用户喜欢把自己的桌面什么的搞得乱七八糟,虽然通过组策略可以限制掉一部份,但总觉得不是很完善,在这里,向大家推荐使用强制用户配置文件,用户可以对自己个人配置文件任意修改,但是一旦注销后,这些修改将不会被保存,这样用户下次登陆里,用户的配置文件还是保持和原来一样,那么如何实现这个功能呢?其实只要将用户配置文件夹下的“Ntuser.dat”改成“Ntuser.man”就可以了,来看一下修改过程:

首先,在显示隐藏文件和已知文件的扩展名,可以在“工具-文件夹选项-查看”里进行修改:

~

点“确定”后,就可以在看到那个“Ntuser.dat”文件了,但此时会有一个问题,如果去修改C:\Documents and Settings\swg下的“Ntuser.dat”,会发现根本没有办法修改这个文件,因为文件在使用中,无法修改如果去修改网络公共位置的“Ntuser.dat”,也就是\\192.168.5.1\share\swg下的“Ntuser.dat”,修改当然可以修改,但是由于在“swg”用户注销的时候,本地的“Ntuser.dat”会把网络公共位置的“Ntuser.man”覆盖掉,也就是等于没有修改。很多人都想直接在服务器上更改 “swg”文件夹的所有者,然后给管理员帐号添加权限,这样就可以直接在服务器上把“Ntuser.dat”改掉,但本人实践过几次,都发现这样的 *** 作会引起一些权限无法继承,而导致出错的情况,所以不建议大家使用,这里推荐一种方法:

先把“swg”帐号注销掉,然后用另外一个帐号登陆,比如管理员,当然,如果在登陆成功后直接去访问\\192.168..5.1\share\swg以试图修改的话,那么你将会感到失望,因为还是拒绝访问的,那么如何访问并修改呢,可以这样 *** 作,“开始-运行-cmd”然后回车,这样就启动了命令行,在命令行下输入:net use \\192.168.5.1 password /user:swg,显示“命令成功完成”,这样就利用“swg”和服务器建立一个连接,此时就可以\\192.168.5.1\share\swg,里进行修改了,

然后再注销管理员帐号,用“swg”登陆,看看有没有成功:

看到了吧,类型由“漫游”变成了“强制”,现在可以在桌面这些地方进行任意的修改,你会发现注销再登陆,又恢复到了原样。这种设置在多人使用同一个帐号的情况下非常有用。

最后再请大家注意两个问题:

1、 在配置强制用户配置文件时,当用其它用户登陆修改时,请保证被修改的用户处于注销状态,为什么?大家不妨自己想一想!

2、 当使用漫游用户配置文件时,请不要在桌面等地方存放一些大型的程序或文件,因为用户在登陆和注销过程中会下载和上传配置文件,如果文件过大,会影响登陆和注销的速度。

另外,团IDC网上有许多产品团购,便宜有口碑

A1、客户机无法加入到域?

一、权限问题。

要想把一台计算机加入到域,必须得以这台计算机上的本地管理员(默认为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看是否通。

A2、用户无法登录到域?

一、用户名、口令、域

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

二、DNS

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

三、计算机帐号

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

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

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

见下一小节的B1。

五、跨域登录中的问题

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

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

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

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

1、上网搜索“凤凰万能启动盘”或“深山红叶”或“老毛桃WINPE”,大约230M;

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后重新启动计算机

常见WINPE启动盘中的ERD Commander 2002功能强大,不仅可破解本地管理员密码,包括NT/2000/XP/03的各个版

本。还可以破解NT/2000/03域管理员密码,均已实验证明。 由于可自动识别 *** 作系统和版本,及是否DC,所以用户在 *** 作时,重设密码的方法都是一样的。对于03,重设密码时要注意符合密码策略中要求的符合复杂性要求,且密码最小长度为7,否则重设的密码会无效。

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

现象:计算机重启或注销,再登录进来,无法使用以前安装的域内的共享网络打印机, 为用户重新安装打印机,当时可以打印,但不久问题又会出现。用户反映说有时能打印,有时就是不能打印。

其原因在于用户没有登录到域(很多用户即使计算机加入到了域,也经常习惯性地选择登录到本地机),

没有域用户身份,当然无权访问域内的资源。而且关键是Windows系统在这里有个小毛病,它并不象你访问共享文

件夹那样,由于没有身份而提示你输入用户名和密码来进行验证,而是直接提示你“拒绝访问,无法连接”、

“当前打印机安装有问题”,“RPC服务不可用”等等(在不同的 *** 作系统或应用程序中提示会所不同)。

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

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

说明:这本身就是微软推荐的一种办法。因为如果不这样,普通用户以本地管理员身份登录时,控制本机没问

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

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

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

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

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

接下来的讨论实质和域的关系不太,但确实是我们访问网络共享资源中经常会碰到的问题:基于UNC路径的I形式来访问时的故障,如在开始/运行:\\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)由于此种原因产生的访问故障,一般是由于实验后忘了复原,或别人故意和你开玩笑。

在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个用户帐户

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

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

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

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

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

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

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

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

如何在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即可,不需要准备。

创建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的转换。

安装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。

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

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

安装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了。

安装子域失败。

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

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

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

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

前面我们介绍过:PDC仿真主控负责最小化密码变化的复制等待时间,若一台DC接受到密码变化的请求,它必须通知PDC仿真主控。若是PDC仿真主机失效,收到该请求的DC必须经过一段时间的查找后,确认真的找不到PDC仿真主控了,才会自己修改用户密码。所以在此情况下,应首先检查PDC仿真主控。 如果确信其已无法正常工作,可强制传给(查封seize)域内的任意一台DC。原来的主控必须被重做系统后,才可连入网络,以保证PDC仿真主控的域唯一性。

正常卸载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服务器不可用”。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11475013.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存