分类: 服务器与存储
2006-04-29 08:46:33
目 录
22. 多域控制器环境下Active Directory灾难恢复
regsvr
1、Exchange服务器上,新建SMTP Connector,命名为ToAll
2、在ToAll的General页面
a、选择"Use DNS route to each address space on this connector"
b、点击Add,将本地的Exchange服务器添加为本地桥头服务器(bridgeheads)
3、切换到Address Space页面
a、点击Add,在弹出的对话框中选择SMTP
b、输入*,点击OK
4、切换到Delivery Restrictions。有两种设定方式:
a、如果需要禁止的用户较多,则选择All Messages are rejected,然后将允许的用户添加到
Accept messages from的列表中;
b、反之,选择All Messages are accepted,将需要限制的用户添加到Reject messages from列表中。
5、设置完成后,在Windows的服务管理器中重新启动SMTP服务和Microsoft Exchange Routing Engine服务。
注意:如果您设置完成,并且重新启动上述服务后,发现传递限制没有起作用,应该被限制的用户依然可
以向Internet发送邮件,请参考下面的步骤,修改注册表。
1、打开注册表编辑器(regedit)
2、找到下面的键:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\RESvc\Parameters
3、在右边添加一个新值
类型:DWORD
名称:CheckConnectorRestrictions
值:1
4、关闭注册表编辑器
5、重新启动SMTP服务和Microsoft Exchange Routing Engine服务
选择“新增收件者原则” 举例ABCD用户使用TEST.COM,选择“修改”把ABCD账号加入 把原来SMTP的邮件域名改成@TEST.COM与ABCD账号建立邮箱然后,在系统管理员中,把下图“recipient update service”两项立即更新 查看用户账号邮件地址
步骤:重新启动主域控制器,进入活动目录恢复模式,输入ntdsutil,输入:metadata cleanup 输入:connection 输入:connect to server servername FQDN,输入:quit 输入:select operation target 输入:list sites 输入:select site sitenamber 输入:list domains in site 输入:select domain domainnumber 输入:quit 输入:remove selected domain 输入:quit即可
注:域控制器可以在本域中更改名称,但如果跨域改名时,需要先降级然后再升级为新域的控制器
1、原始恢复用于重建域中的第一个域控制器。步骤:进入目录恢复模式,在向导页面使用“高级模式”,并选择“当还原复制的数据集时,将……….所有副本的主要数据”。(如安装新硬盘时损坏数据库)
2、正常恢复(非授权恢复)用于恢复受损的AD数据库。步骤:进入目录恢复模式,然后执行恢复
3、授权恢复 把AD恢复到先前的一个状态 步骤:进入目录恢复模式,恢复活动目录到原始位置,然后在不重新启动的情况下运行ntdsutil.exe,然后输入:authoritative restore然后输入:restore subtree OU=testou,DC=cml,DC=com,DC=cn 然后输入:quit退出后重新启动服务器即可
首先备份域控制器DG1的系统状态为system.bkf,然后复制到远程计算机DC2上c:\system.bkf,然后以管理员登录到该计算机,选择还原,注:将文件还原到“备用位置”,备用位置输入:c:\backup。保持DC1开机状态,在DC2上运行dcpromo /adv,选择“附加的域控制器”,并指定还原的备份的位置 c:\backup完成即可
使用UPN即用户登录主名进行登录,域控制器会自动进行路由。操作:
1、 Active Directory域和信任关系----à右键“Active Directory域和信任关系”属性---à添加一个UPN后缀。这样在建立用户的时候,可以选择加入的哉名
2、 需要建立信任关系(Active Directory域和信任关系--à选择cml.com.cn属性---à选择“信任”,选择信任域的属性-----à选中“名称后缀路由”确认路由功能启用即可)。可以简化管理和用户登录过程
使用Active Directory 迁移工具(安装光盘i386\ADMT\下有安装文件),使用Ldp.exe查看对象的SID、GUID和SID历史
1、默认刷新时间为90分钟(windows2003成员服务器及没有配置成域控制器的计算机),允许30分钟时间偏移量,域控制器每5分种刷新一次。可以更改计算机和用户的管理模板来改变默认的刷新值。
2、手工强制更新: gpupdate /force
3、使用组策略管理控制台gpmc.msi
使用csvde建立用户 csvde –i –f d:\temp\user.csv
导出用户:csvde –f d:\temp\user.csv
邮箱及共用文件夹存储在单独的驱动器上,日志文件存储在单独的驱动器上,步骤:直接点击邮箱存储或公用文件夹存储上的右键,选择“属性”,然后选择“数据库”,直接浏览指定的目录即可,系统会自动进行迁移。一般每个数据库不要超过50GB。注:企业版可以建立四个存储组,每个存储组只能建立5个邮箱存储。
注:可以使用 OWA管理工具进行设置 (需安装OWA管理工具包OWAAdmin.MSI)
一.配置SSL功能
1.安装证书服务
2.安装服务器证书(使用证书向导)
a.在IIS中,打开默认站点的属性页——目录安全性——安全通信(服务器证书)——新建证书,根据向导的提示完成证书的申请,记录下应答文件的路径!
b.在浏览器中:输入地址进入证书申请界面。
c.申请证书——高级——使用Base64编码……——在“保存的申请”中填入应答文件的内容,证书模版选择“web服务器”,至此,证书将被颁发。
d.下载Base64编码的证书并安装。在证书导入向导中,将所有证书存储在“企业信任”下。
3.制作颁发证书的应答文件
a.进入证书颁发机构,在“颁发的证书”中,打开刚才被颁发的证书,在“详细信息”中,到处到一个cer文件,当然,编码要选择Base64编码的。
b.到处成功,记住路径。
4.让IIS自动处理挂起的证书请求
a.在IIS的“安全通信”中,打开“服务器证书向导”,处理挂起——选择应答文件。
b.完成咯。
5.配置使用SSL。
a.在“安全通信”的“编辑”中,选择“要求SSL”
6.至此你的服务器站点的所有网站都必须通过SSL认证才能访问,访问exchange时,需要输入URL()
二.配置OWA的密码功能
1.进入AdminScripts目录(cd c\:inetpub\AdminScripts)
2.允许修改OWA密码adsutil.vbs set w3svc/passwordchangeflags 1
以上都是在命令行完成的
3.建一个虚拟目录IISADMPWD,物理路径在c:\winnt\system32\inetsrv\iisadmpwd
4.修改虚拟目录的“应用程序池”,在虚拟目录的属性中,修改应用程序池(ExchangeApplicationPool)
三.显示修改密码的button
1.进入注册表, HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSExchangeWeb\OWA
2.Value name: DisablePassword
Value type: REG_DWORD
Data: 0
四.重起服务
Exchange Information Store Service
IIS Admin Service
四、设置用户验证方式
打开IIS,选择默认站点-->Exchange-->右键-->属性-->目录安全性-->匿名访问和验证控制-->编辑-->选择基本验证和集成windows验证,填写你的基本验证域,就是服务器AD域名称。
打开IIS,打开Exchange虚拟目录的属性,打开“目录安全性“,点击最下面的一个“编辑”按钮,在跳出的对话框中选中'需要安全通道'复选框。
通过这样的设置后,已经可以在用户前端界面的选项中看到'修改密码'按钮了,但是你试着更改密码,会提示你“密码太短,或不满足密码唯一性限制”的错误信息(这个错误信息有些误导,有时候并不是该原因出错,注意密码最短使用期限的设置),仍然无法正常修改密1 : 密码必须符合复杂性要求 已禁用
2 : 密码长度最小值 6 (可以根据你的要求调整 )
3 : 密码最短使用期限 可立即更改(注意这里,默认是24小时才可以修改)
4 : 密码最长使用期限 30 (根据你的需要调整)
5 : 强制密码历史 没有定义
6 : 用可还原的加密来储存密码 没有定义码。这是由于域安全策略的问题,打开域安全策略后,设置参考如下:
大功告成,接下来你就可以正常修改密码了。如果以上修改未能生效,请重新启动下IIS admin service 和 Microsoft Exchange Information Store Service
使用SELFSSL为OWA建立一个自签名证书 :
http://blog.donews.com/winmagyinjie/archive/2005/10/28/605953.aspx
在使用EXCHANGE自带的OWA(OUTLOOK WEB ACCESS)时,默认情况下是使用NTLM验证的,这时会弹出一个窗口要求用户输入用户、密码和域,这和我们的习惯有些不相似。在EX2003里,OWA带来了一种和我们平常上网使用的表单一样的登录方式,我们称为表单登录。然而表单登录因为使用的是明文传输,所以需要对密码进行加密,一般使用SSL来加密通信,这时我们就需要给OWA站点建立一个证书,通常情况下,我们是借助企业CA或独立CA来建立自己的证书,这样不仅要安装CA服务器,还需要完成很多的工作,尤其是当OWA运行在公网的时候,这些操作无疑是复杂的。现在好了,我们可以借助SELFSSL来给OWA站点签发自签名的证书而不需要CA服务器了。
过程
首先我们要完成这个工作,需要找到SELFSSL这个工具,别着急,且听我慢慢道来。在微软下载中心下载IIS6 资源工具包(http://www.microsoft.com/downloads/details.aspx?familyid=56FC92EE-A
下载完毕后,在安装有OWA站点的服务器上安装它,因为我们只需要SELFSSL这个工具,所以我们选择定制安装(当然你要想使用所有工具,也可以完全安装)
op_stop(); ;op_start();
接下来选择安装的路径,可修改。
op_stop(); ;op_start();
在安装的组件里选择SELFSSL。
op_stop(); ;op_start();
等待安装完成,你可以去喝点COFFEE,^_^ 安装完成后,系统会在开始菜单里建立对应的程序组,其中我们看到了SELFSSL的影子。
op_stop(); ;op_start();
注意:SELFSSL是个命令行工具!!
打开SELFSSL,可以看到SELFSSL的帮助页,如图:
op_stop(); ;op_start();
这里我们主要关心的参数是公用名称,这是要和你的OWA域名一样的。还有就是有效时间,一般为365天(1年),如果你有兴趣可以设置个100年,呵呵。。其他要注意的参数就是/K(密钥长度,不要超过1024位),还有/T(自动增加信任列表)
现在请你输入:SELFSSL /N:CN=owa.mydomain.com /T /V:365
以上命令表示我们将建立一个公用名称为owa.mydomain.com,时间为365天的证书。
SELFSSL将询问你是否将证书应用到指定的WEB站点(/S可指定站点ID)上,输入“Y”以确认。
op_stop(); ;op_start();
现在你可以打开IIS的管理工具的OWA虚拟目录exchange,应该可以看到在站点上已经有了SSL证书了。打开exchange虚拟目录的属性
op_stop(); ;op_start();
打开证书里的编辑。
op_stop(); ;op_start();
在需要SSL的复选框中选中,并按需要选择是否需要128高加密。
op_stop(); ;op_start();
现在关闭属性页,你的SSL已经可以使用了。你可以打开IE,输入https://owa.mydomain.com/exchange,注意此处要输入的是HTTPS,而不是HTTP。你将看到证书安全警告框。
op_stop(); ;op_start();
该警告提醒你你的证书不被信任。选择[查看证书],可以看到证书的详细信息,从该信息里可以看到该证书尚未安装。
op_stop(); ;op_start();
选择[安装证书],开始证书的安装。
op_stop(); ;op_start();
选择证书的存储容器
op_stop(); ;op_start();
选择自动选择存储容器,继续完成安装
op_stop(); ;op_start();
OK,完成该向导,你的证书已经被安装到信任列表了,你将不会再看到证书警告框了。你可以以安全的方式访问你的OWA了。
推荐阅读
The IIS 6.0 Resource Kit Tools:
http://support.microsoft.com/default.aspx?scid=kb;en-us;840671
在exchange管理控制台中点击smtp虚拟服务器的属性,把匿名验证去掉即可
在主目录中的默认网页中加入跳转代码:
如:在c:\Inetpub\wwwroot\iisstart.htm中加入:
即可
操作:
1、exchange系统管理器-----全局设置-------邮件传递的属性设置“智能邮件筛选”。
2、管理组--------服务器-----协议------SMTP属性-------常规中的高级-------编辑------把“应用智能邮件筛选器”打勾。
1、exchange系统管理器---à服务器属性--------常规中“启用邮件跟踪”即可使用工具中的邮件跟踪中心进行查找邮件信息
2、可以查看队列,可以做如下操作:禁用出站邮件、查找队列中的邮件…..等等很多功能。
3、监视的资源和状态:服务器属性页中-----监视中添加监视对象,然后设置邮件提醒:工具---à通知------右键新建电子邮件通知。
4、设置诊断日志:服务器cmlmail1属性中---诊断日志记录中设置日志。此日志记录在windows事件查看器中
备份:备份系统状态和exchange存储区。
exchange系统管理器---à管理组-------服务器-----cmlmail1右键新建“恢复存储组”。
邮件恢复中心:先删除test用户的邮箱,到邮件恢复中心进行刷新,然后新建立一个test02用户(不具有邮箱),在邮件恢复中心点击删除的test右键----解决冲突,然后选择查找选择test02,然后重新连接即可。
Exchange 还原过程图
数据库
Exchange 数据库恢复清单
c |
卸除正在还原的每个邮箱或公用文件夹存储的数据库。 |
c |
将数据库配置为可以使用还原进行覆盖(可选)。 |
c |
确定正在还原文件的数据库和日志文件位置(可选)。 |
c |
将当前数据库文件复制到另一个位置(可选)。 |
c |
确保在 Exchange 系统管理器中的邮箱和公用文件夹存储名称与备份媒体匹配。 |
c |
确保 Microsoft Exchange 信息存储服务 (MSExchangeIS) 正在运行。 |
c |
选择要从备份媒体还原的备份文件。 |
c |
还原所选文件。 |
c |
确保还原过程已成功。 |
c |
重播事务日志文件 (Eseutil /cc)(可选)。 |
c |
装入数据库(存储)。 |
恢复案例:
http://blog.donews.com/winmagyinjie/archive/2005/10/28/605566.aspx
一、实验环境
* 安装有WIN2003的服务器一台
* 安装有活动目录和IIS
* 安装有EXCHANGE 2003企业版
* 建立了几个邮箱,以administrator为操作对象
二、实验步骤
1、首先配置好OUTLOOK2003,并正常收发邮件数次。
正常工作的MAILBOX STORE:
注意看其中的管理员邮箱的邮件项目是31个!!
正常工作的OUTLOOK状态:
注意看收件箱中有3封邮件!!
2、使用NTBACKUP备份MAILBOX STORE,一切按向导进行
备份进行中。。。
备份已经成功完成,注意:此过程不能将存储组DISMOUNT也不能停止INFORMATION STORE服务。
3、在OUTLOOK中永久删除收件箱中的邮件。
可以看到已删除邮件是空的了:
收件箱中也是空的了哦。
4、打开ESM,看到MAILBOX STORE里少了3个项目(刚才删除的),确认删除是有效的哦(没有人怀疑吧。呵呵。。)
5、在ESM里设置MAILBOX STORE的属性为可被还原覆盖,这是非常重要的,否则不能还原成功!
并且把MAILBOX STORE手工DISMOUNT,这也是必需的。系统无法还原覆盖正在使用的数据库。
6、进入NTBACKUP,找到刚才备份的文件,打开编录。你会看到其中写着“无数据项目”,别管它,能恢复就可以了。
7、开始恢复数据库了,注意在日志临时文件中应写一个有效的路径,该路径用于存储在备份文件中的数据库日志,另外,需要注意的是,“上次还原集”请大家慎重选择。如果选择该项目,系统将在还原完成后按日志内容重放操作,这将使你刚才的操作仍然有效,换句话说,我刚才的删除项目操作仍然有效。我不希望这样,因为我希望恢复我刚才删除的文件哦,所以我不选这个选项,实际操作中该项应该是选中的,因为备份的数据比当前服务器的数据要旧,因此只有REPLAY日志才能重新应用备份后的操作。这样恢复后的数据才是服务器的最新状态。
NOTE:只有选中了“上次还原集”,才能在还原后让系统自动将数据库MOUNT。
OK,还原进行中了。。一切顺利。。
还原终于完成了,没有错误,说明一切正常。
8、进入ESM,MOUNT数据库,失败了。WHY?
看看日志。。
哦,原来系统告诉我说,数据库不是从硬恢复中恢复的,通俗点说,就是还有日志没有完全记录到数据库中,我们看看数据库状态来验证一下。
9、让我们来看看数据库的状态。(eseutil /mh)
哦,原来是DIRTY SHUTDOWN,这说明数据库当前是非正常关闭的,当然不能MOUNT啦。怎么办?当然你可以在还原时选择”上次还原集“这样系统会帮助你REPLAY日志,完成REPLAY后,数据库就正常关闭了。但我这里可不希望去REPLAY日志,相反的,我希望系统丢弃所有的日志,于是我只能手工处理了。
10、使用修复命令(eseutil /p)修复数据库,强制数据库关闭。
注意:只能在确定需要修复数据库时,才能使用该命令。
修复顺利完成了。呵呵。。
11、再来看看数据库状态。
哦,现在的数据库状态是CLEAN SHUTDOWN了,就是正常关闭了。成功了。
12、再重新MOUNT数据库,成功了哦。
13、赶快来检查一下看看是否正常,哈哈,,你看又是31个项目了。恢复了
14、进入OUTLOOK看看,哦,我的邮件终于回来了,上帝保佑。。
三、后记
呵呵,,不知道从什么时候开始,我也喜欢在文章的最后加个说明了,权当做后记吧。
从这个实验中你可以看到NTBACKUP确实可以备份和恢复EXCHANGE的存储组数据哦。(MS没有骗我们,呵呵……)但是需要注意的地方还真不少。
1、首先,我们要明白备份只备份当前有效数据,已经被删除的数据不会被备份哦。
2、备份时不能DISMOUNT数据库,也不能停止任何的EXCHANGE服务。
3、备份时最好能使用VSS(卷影副本)或不要使用邮箱
4、还原前,一定要将数据库设置为可覆盖模式。注意:每次正常还原后,系统会自动把这个状态撤消掉,也就是说,你每次还原时都需要重新设置,一定记得哦。
5、还原数据库时,要把数据库DISMOUNT哦。这和备份是不一样的。
6、备份的文件里有可能报说”找不到数据项目“别管它,只要你确认备份成功了就不会有问题的。
7、还原时的临时日志位置一定要写,且不能是原始日志目录,因为在备份时,有可能有的事务还没有完全写入数据库,因此系统也会把这部分未写入数据库的日志备份到介质中,当还原的时候,它先把这些日志释放到临时目录,恢复数据库后再按临时目录里的日志REPLAY操作哦,然后删除临时目录里的日志。
8、”上次还原集“按需要选择。如果选择,系统将REPLAY所有日志。但不选择,系统不会自动MOUNT数据库。而且有可能连手工MOUNT都不能。注意哦。
9、还原完成后,如果不能MOUNT,可以先看看日志和数据库的状态(ESEUTIL /MH)这是个有用的命令。
10、最后一点,只有正常关闭的数据库才能被MOUNT,呵呵。。原因,请看我的另一篇关于日志功能的文章。
最后说一下,如果你的服务器坏掉了,你一定要按顺序执行下列操作:
* 安装全新的操作系统和补丁
* 恢复系统状态数据(如果是DC)
* 以灾难恢复选项安装EXCHANGE,不要以正常方式安装,装不上的。不信你试试。
* 恢复数据库内容
* 修复或调整数据库
* MOUNT数据库
* 完成恢复过程。
LoadSim 模拟 Outlook MAPI 客户端高使用情况的效果,并帮助您自定义测试期间要使用的 Outlook 配置文件。ESP 模拟邮局协议 (POP)、Internet 邮件访问协议 (IMAP)、简单邮件传输协议 (SMTP) 以及 Outlook Web Access 2003 等非 MAPI 客户端高使用情况的效果(Adsizer规划AD硬件、JetStress进行压力测试)
首先:打开记事本,建立一个脚本。内容如下:
Sub ISMTPOnArrival_OnArrival(ByVal Msg, EventStatus)
TextDisclaimer = vbCrLf & "DISCLAIMER:" & vbCrLf & "Sample Disclaimer added in a VBScript."
HTMLDisclaimer = " DISCLAIMER:
If Msg.HTMLBody <> "" Then
'Search for the "
" tag and insert our discliamer before that tag.
pos = InStr(1, Msg.HTMLBody, "", vbTextCompare)
szPartI = Left(Msg.HTMLBody, pos - 1)
szPartII = Right(Msg.HTMLBody, Len(Msg.HTMLBody) - (pos - 1))
Msg.HTMLBody = szPartI + HTMLDisclaimer + szPartII
End If
If Msg.TextBody <> "" Then
Msg.TextBody = Msg.TextBody & vbCrLf & TextDisclaimer & vbCrLf
End If
'Commit the content changes to the transport ADO Stream object.
Msg.DataSource.Save ' Commit the changes into the transport Stream
pEventStatus = cdoRunNextSink
End Sub
然后,把文件保存成EventSinkScript.vbs,或者任何任何你自己需要的文件名。保存到C盘根目录。
第二步:在你的Exchange服务器上面安装Exchange SDK。我用的是这个(http://download.microsoft.com/download/9/e/7/9e7fa
安装好SDK后,就可以注册事件接受器了。
到命令行下:
Cd C:\Program Files\Exchange SDK\SDK\Support\CDO\Scripts
Cscript smtpreg.vbs /add 1 onarrival SMTPScriptingHost
CDO.SS_SMTPOnArrivalSink "mail from=*@你们公司的邮件后缀"
cscript smtpreg.vbs /setprop 1 onarrival SMTPScriptingHost Sink ScriptName "C:\EventSinkScript.vbs"
好了。现在你可以给你的公司外部的邮箱发一个测试邮件了,在每封邮件的最下面,都会有一个你添加的免责声明的。
参见 Exchange Server 2003 Message Security Guide_CN_V2.doc
1.samba服务器软件需求
krb5-workstation-
pam_krb5-1.70-1
krb5-devel-
krb5-libs-
samba-
2.配置kerberos(关键)
下面配置参数让 Kerberos 进程知道处理活动目录服务器,对 /etc/krb5.conf 做适当的修改,修改时需要注意的是 Kerberos 是大小写敏感的。
这是我的krb5.conf配置文件:
[logging]
default = FILE:/var/log/krb5libs.log
kdc = FILE:/var/log/krb5kdc.log
admin_server = FILE:/var/log/kadmind.log
[libdefaults]
ticket_lifetime = 24000
default_realm = MYDOMAIN.COM
dns_lookup_realm = false
dns_lookup_kdc = false
[realms]
MYDOMAIN.COM = {
kdc = 192.168.2.248
# admin_server = kerberos.example.com:749
default_domain = MYDOMAIN.COM
}
[domain_realm]
.mydomain.com = MYDOMAIN.COM
mydomain.com = MYDOMAIN.COM
[kdc]
profile = /var/kerberos/krb5kdc/kdc.conf
[appdefaults]
pam = {
debug = false
ticket_lifetime = 36000
renew_lifetime = 36000
forwardable = true
krb4_convert = false
}
3.连接2003服务器
kinit filesrv@MYDOMAIN.COM
Kerberos 的 kinit 命令将测试服务器间的通信,后面的域名MYDOMAIN.COM 是你的活动目录的域名,必须大写,否则会收到错误信息:
kinit(v5): Cannot find KDC for requested realm while getting initial credentials.
如果通信正常,你会提示输入口令,口令正确的话,就返回 bash 提示符,如果错误则报告:
kinit(v5): Preauthentication failed while getting initial credentials.
4.配置samba
修改/etc/samba/smb.conf如下几行
workgroup = MYDOMAIN
netbios name = filesrv
server string = Filesrv
realm = MYDOMAIN.COM // 活动目录服务器域名
security = ADS // 采用活动目录认证方式
encrypt passwords = yes // 采用加密的口令
重新启动samba服务
service smb restart
配置完 Samba 和 Kerberos 后,需要在 Windows 2000 活动目录下建立一个计算机帐号,如果需要在 Linux 上来完成的话,运行:
/usr/kerberos/bin/kinit filesrv@MYDOMAIN.COM
输入口令后,建立帐号:
将服务器加入活动目录:
/usr/local/samba/bin/net ads join
去 Windows 2003 服务器检查上面的工作:打开活动目录用户和计算机,查看其中的条目,如果成功的话,就可以看到你的 Linux 服务器。
然后在 Linux 机器上,你就可以采用 smbclient 命令连接到 Windows 的共享文件夹,而不需要输入口令(因为采用了Kerberos )。
/usr/local/samba/bin/smbclient //w2k/c$ -k
这个命令可能会产生一些错误信息,但是不要紧它能工作的。
摘要
本文讲述了在多域控制器环境下,主域控制器由于硬件故障突然损坏,而又事先又没有做好备份,如何使额外域控制器接替它的工作,使Active Directory正常运行,并在硬件修理好之后,如何使损坏的主域控制器恢复。
目录
Active Directory操作主机角色概述
环境分析
从AD中清除主域控制器DC-01.test.com 对象
在额外域控制器上通过ntdsutil.exe工具执行夺取五种FMSO操作
设置额外域控制器为GC(全局编录)
重新安装并恢复损坏主域控制器
附:用于检测AD中五种操作主机角色的脚本
参考信息
作者介绍
一、Active Directory操作主机角色概述
Active Directory 定义了五种操作主机角色(又称FSMO):
架构主机 schema master、
域命名主机 domain naming master
相对标识号 (RID) 主机 RID master
主域控制器模拟器 (PDCE)
基础结构主机 infrastructure master
而每种操作主机角色负担不同的工作,具有不同的功能:
架构主机
具有架构主机角色的 DC 是可以更新目录架构的唯一 DC。这些架构更新会从架构主机复制到目录林中的所有其它域控制器中。 架构主机是基于目录林的,整个目录林中只有一个架构主机。
域命名主机
具有域命名主机角色的 DC 是可以执行以下任务的唯一 DC:
向目录林中添加新域。
从目录林中删除现有的域。
添加或删除描述外部目录的交叉引用对象。
相对标识号 (RID) 主机
此操作主机负责向其它 DC 分配 RID 池。只有一个服务器执行此任务。在创建安全主体(例如用户、
组或计算机)时,需要将 RID 与域范围内的标识符相结合,以创建唯一的安全标识符 (SID)。 每一个
Windows 2000 DC 都会收到用于创建对象的 RID 池(默认为 512)。RID 主机通过分配不同的池来确保这
些 ID 在每一个 DC 上都是唯一的。通过 RID 主机,还可以在同一目录林中的不同域之间移动所有对象。
域命名主机是基于目录林的,整个目录林中只有一个域命名主机。相对标识号(RID)主机是基于域的,目录林中的每个域都有自己的相对标识号(RID)主机
PDCE
主域控制器模拟器提供以下主要功能:
向后兼容低级客户端和服务器,允许 Windows NT4.0 备份域控制器 (BDC) 加入到新的 Windows 2000 环境。 本机 Windows 2000 环境将密码更改转发到 PDCE。每当 DC 验证密码失败后,它会与 PDCE 取得联系,以查看该密码是否可以在那里得到验证,也许其原因在于密码更改还没有被复制到验证 DC 中。
时间同步 — 目录林中各个域的 PDCE 都会与目录林的根域中的 PDCE 进行同步。
PDCE是基于域的,目录林中的每个域都有自己的PDCE。
基础结构主机
基础结构主机确保所有域间操作对象的一致性。当引用另一个域中的对象时,此引用包含该对象的
全局唯一标识符 (GUID)、安全标识符 (SID) 和可分辨的名称 (DN)。如果被引用的对象移动,则在域中担
当结构主机角色的 DC 会负责更新该域中跨域对象引用中的 SID 和 DN。
基础结构主机是基于域的,目录林中的每个域都有自己的基础结构主机
默认,这五种FMSO存在于目录林根域的第一台DC(主域控制器)上,而子域中的相对标识号 (RID) 主机、PDCE 、基础结构主机存在于子域中的第一台DC。
二、环境分析
公司Test.com(虚拟)有一台主域控制器DC-01.test.com,还有一台额外域控制器DC-02.test.com。现主域控制器(DC-01.test.com)由于硬件故障突然损坏,事先又没有DC-01.test.com的系统状态备份,没办法通过备份修复主域控制器(DC-01.test.com),我们怎么让额外域控制器(DC-02.test.com)替代主域控制器,使Acitvie Directory继续正常运行,并在损坏的主域控制器硬件修理好之后,如何使损坏的主域控制器恢复。
如果你的第一台DC坏了,还有额外域控制器正常,需要在一台额外域控制器上夺取这五种FMSO,并需要把额外域控制器设置为GC。
三、从AD中清除主域控制器DC-01.test.com对象
3.1在额外域控制器(DC-02.test.com)上通过ntdsutil.exe工具把主域控制器(DC-01.test.com)从AD中删除;
c:>ntdsutil
ntdsutil: metadata cleanup
metadata cleanup: select operation target
select operation target: connections
server connections: connect to domain test.com
select operation target: list sites
Found 1 site(s)
0 - CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=test,DC=com
select operation target: select site 0
Site - CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=test,DC=com
No current domain
No current server
No current Naming Context
select operation target: List domains in site
Found 1 domain(s)
0 - DC=test,DC=com
Found 1 domain(s)
0 - DC=test,DC=com
select operation target: select domain 0
Site - CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=test,DC=com
Domain - DC=test,DC=com
No current server
No current Naming Context
select operation target: List servers for domain in site
Found 2 server(s)
0 - CN=DC-01,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=te
st,DC=com
1 - CN=DC-02,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=te
st,DC=com
select operation target: select server 0
select operation target: quit
metadata cleanup:Remove selected server
出现对话框,按“确定“删除DC-01主控服务器。
metadata cleanup:quit
ntdsutil: quit
3.2使用ADSI EDIT工具删除Active Directory users and computers中的Domain controllers中DC-01服务器对象,
ADSI EDIT是Windows 2000 support tools中的工具,你需要安装Windows 2000 support tool,安装程序在windows 2000光盘中的support\tools目录下。打开ADSI EDIT工具,展开Domain NC[DC-02.test.com],展开OU=Domain controllers,右击CN=DC-01,然后选择Delete,把DC-01服务器对象删除,如图1:
3.3 在Active Directory Sites and Service中删除DC-01服务器对象
打开Administrative tools中的Active Directory Sites and Service,展开Sites,展开Default-First-Site-Name,展开Servers,右击DC-01,选择Delete,单击Yes按钮,如图2:
四、在额外域控制器上通过ntdsutil.exe工具执行夺取五种FMSO操作
c:>ntdsutil
ntdsutil: roles
fsmo maintenance: Select operation target
select operation target: connections
server connections: connect to domain test.com
select operation target: list sites
Found 1 site(s)
0 - CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=test,DC=com
select operation target: select site 0
Site - CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=test,DC=com
No current domain
No current server
No current Naming Context
select operation target: List domains in site
Found 1 domain(s)
0 - DC=test,DC=com
select operation target: select domain 0
Site - CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=test,DC=com
Domain - DC=test,DC=com
No current server
No current Naming Context
select operation target: List servers for domain in site
Found 1 server(s)
0 - CN=DC-02,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=te
st,DC=com
select operation target: select server 0
select operation target: quit
fsmo maintenance:Seize domain naming master
出现对话框,按“确定“
fsmo maintenance:Seize infrastructure master
出现对话框,按“确定“
fsmo maintenance:Seize PDC
出现对话框,按“确定“
fsmo maintenance:Seize RID master
出现对话框,按“确定“
fsmo maintenance:Seize schema master
出现对话框,按“确定“
fsmo maintenance:quit
ntdsutil: quit
(注:Seize是在原FSMO不在线时进行操作,如果原FSMO在线,需要使用Transfer操作)
五、设置额外控制(DC-02.test.com)为GC(全局编录)
打开Administrative Tools中的Active Directory Sites and Services,展开Sites,展开Default-First-Site-Name,展开Servers,展开DC-02.test.com(额外控制器),右击NTDS Settings选择Properties,然后在"Global Catalog"前面打勾,单击"确定"按钮,然后重新启动服务器。
六、重新安装并恢复损坏主域控制器
修理好DC-01.test.com损坏的硬件之后,在DC-01.test.com服务器重新安装Windows 2000 Server,安装好Windows 2000 Server之后,再运行Dcpromo升成额外的域控制器;如果你需要使DC-01.test.com担任五种FMSO角色,通过ntdsutil工具进行角色转换,进行Transfer操作就行了(注意:不能用Seize)。并通过Active Directory Sites and Services设置DC-01.test.com为GC,取消DC-02.test.com的GC功能。
建议domain naming master不要和RID master在一台DC上,而domain naming master同时必须为GC。
附:用于检测AD中五种操作主机角色的脚本
给大家一个脚本,用于检测AD中五种FSMO角色,把下面的代码,保存为FSMO.VBS,然后执行它.
Set objRootDSE = GetObject("LDAP://rootDSE")
Dim text
' Schema Master
Set objSchema = GetObject("LDAP://" & objRootDSE.Get("schemaNamingContext"))
strSchemaMaster = objSchema.Get("fSMORoleOwner")
Set objNtds = GetObject("LDAP://" & strSchemaMaster)
Set objComputer = GetObject(objNtds.Parent)
text="Forest-wide Schema Master FSMO: " & objComputer.Name & vbCrLf
Set objNtds = Nothing
Set objComputer = Nothing
' Domain Naming Master
Set objPartitions = GetObject("LDAP://CN=Partitions," & _
objRootDSE.Get("configurationNamingContext"))
strDomainNamingMaster = objPartitions.Get("fSMORoleOwner")
Set objNtds = GetObject("LDAP://" & strDomainNamingMaster)
Set objComputer = GetObject(objNtds.Parent)
text=text&"Forest-wide Domain Naming Master FSMO: " & objComputer.Name & vbCrLf
Set objNtds = Nothing
Set objComputer = Nothing
' PDC Emulator
Set objDomain = GetObject("LDAP://" & objRootDSE.Get("defaultNamingContext"))
strPdcEmulator = objDomain.Get("fSMORoleOwner")
Set objNtds = GetObject("LDAP://" & strPdcEmulator)
Set objComputer = GetObject(objNtds.Parent)
text=text&"Domain's PDC Emulator FSMO: " & objComputer.Name & vbCrLf
Set objNtds = Nothing
Set objComputer = Nothing
' RID Master
Set objRidManager = GetObject("LDAP://CN=RID Manager$,CN=System," & _
objRootDSE.Get("defaultNamingContext"))
strRidMaster = objRidManager.Get("fSMORoleOwner")
Set objNtds = GetObject("LDAP://" & strRidMaster)
Set objComputer = GetObject(objNtds.Parent)
text=text&"Domain's RID Master FSMO: " & objComputer.Name & vbCrLf
Set objNtds = Nothing
Set objComputer = Nothing
' Infrastructure Master
Set objInfrastructure = GetObject("LDAP://CN=Infrastructure," & _
objRootDSE.Get("defaultNamingContext"))
strInfrastructureMaster = objInfrastructure.Get("fSMORoleOwner")
Set objNtds = GetObject("LDAP://" & strInfrastructureMaster)
Set objComputer = GetObject(objNtds.Parent)
text=text&"Domain's Infrastructure Master FSMO: " & objComputer.Name & vbCrLf
text=text & vbCrLf &" Design by coolnetboy(coolnetboy@hotmail.com)"
WScript.Echo text
协议 |
端口 |
描述 |
| |
SMTP |
TCP: 25 |
SMTP 服务使用 TCP 端口 25。 |
| |
DNS |
TCP/UDP: 53 |
DNS 侦听端口 53。域控制器使用此端口。 |
| |
LSA |
TCP: 691 |
Microsoft Exchange Routing Engine 服务 (RESvc) 在此端口上侦听路由链接状态信息。 |
| |
LDAP |
TCP/UPD: 389 |
Microsoft Active Directory® 目录服务使用的轻型目录访问协议 (LDAP)、Active Directory 连接器以及 Microsoft Exchange Server 5.5 目录使用此端口。 |
| |
LDAP/SSL |
TCP/UDP: 636 |
安全套接字层 (SSL) 上的 LDAP 使用此端口。 |
| |
LDAP |
TCP/UDP: 379 |
站点复制服务 (SRS) 使用此端口。 |
| |
LDAP |
TCP/UDP: 390 |
这是推荐的备用端口,当 Active Directory 域控制器上运行的是 Exchange Server 5.5 时,用于配置 Exchange Server 5.5 LDAP 协议。 |
| |
|
| |||
LDAP |
TCP: 3268 |
全局编录。Windows 2000 和 Windows Server 2003 Active Directory 全局编录(域控制器“角色”)侦听 TCP 端口 3268。 |
| |
LDAP/SSLPort |
TCP: 3269 |
SSL 上的全局编录。连接到全局编录服务器的 TCP 端口 3269 的应用程序可以传输并接收 SSL 加密数据。 |
| |
IMAP4 |
TCP: 143 |
Internet 邮件访问协议 (IMAP) 使用此端口。 |
| |
IMAP4/SSL |
TCP: 993 |
SSL 上的 IMAP4 使用此端口。 |
| |
POP3 |
TCP: 110 |
邮局协议版本 3 (POP3) 使用此端口。 |
| |
POP3/SSL |
TCP: 995 |
SSL 上的 POP3 使用此端口。 |
| |
NNTP |
TCP: 119 |
网络新闻传输协议 (NNTP) 使用此端口。 |
| |
NNTP/SSL |
TCP: 563 |
SSL 上的 NNTP 使用此端口。 |
| |
HTTP |
TCP: 80 |
HTTP 使用此端口。 |
| |
HTTP/SSL |
TCP: 443 |
SSL 上的 HTTP 使用此端口。 |
|
u 设定地址簿时,建立不同子公司名称命名的地址列表。注:筛选规则中不要使用常规进行查找(此处查找的将是所有对象),而要在高级字段中进行精确查找。
u 公用文件夹的邮箱功能,以发布信息。如公用文件夹MIS mis@xxx.com.cn
u Exchange2003企业版最大支持8TB和4个存储组,每个存储组限制作5个数据库
u 建立/3GB开关(内存大于
修改boot.ini启动行:
multi(0)disk(0)rdisk(0)partition(2)\WINNT="Microsoft Windows 2000 Advanced Server" /fastdetect /3GB
u 使用exmerge时在邮箱存储的属性---->安全----->赋予administrator receiver as权限。如果是删除某一封邮件,在options中选择“archive data to target store”,然后选择“主题”或“附件”。选择“Use last maibox login locale”
u 可以使用ExBPA进行实践分析
u 安装ExchangeIMF智能邮件筛选组件,对UCE进行过滤。(全局设置-----传递限制属生----智能邮件筛选)
u 可以安装ExDRA(Disaster Recovery Analyer Tool)帮助制定灾难恢复计划
u 可以安装ExPTA(Performance Troubleshooting Analyzer)分析性能
u 安装Exmon实时对用户进行监视
u 安装support tools后,输入命令:netdom query fsmo即可查看FSMO角色服务器
u 如果在DNS中没有自动产生_msdcs.domain.com,则可用support tools中运行:nltest.exe /dsregdns
u 最佳资料网站:
http://blog.donews.com/winmagyinjie/archive/2005/10/27/604510.aspx