解决MSDTC 53258故障
做了将GC提升到DC的试验,基本上算顺利,可是发现日志中存在几个错误日志:
1、MSDTC 53258
MS DTC 无法正确处理 DC 升级/降级事件。MS DTC 将继续运行并将使用现有的安全设置。错误说明: %1
2、MSDTC 53258
MS DTC 无法正确处理 DC 升级/降级事件。MS DTC 将继续运行并将使用现有的安全设置。错误说明: d:\srvrtm\com\complus\dtc\dtc\adme\uiname.cpp:9280, Pid: 472
No Callstack,
CmdLine: C:\WINDOWS\system32\msdtc.exe
去Winmag得到了解决办法:
1. Click Start -> Administrative Tools -> Component Services.
2. Click the "+" next to Component services to expand it.
3. Right click "My Computer" in the right window pane and select Properties.
4. Click the MS DTC Tab.
5. Click the "Security Configuration" button, a dialog box appears. Click "OK".
6. Click "OK" on the "My Computer Properties" box; this will take you back to the console.
7. Right click "My Computer" and select "Stop MS DTC" (this stops the MSDTC service.
8. Again, right click "My Computer" and select "Start MS DTC".
记录:多域控制器环境下Active Directory灾难恢复
准备新装个VPC将PDC转移过来,发现从2000开始到2003升级都不是那么的容易,记得当时NT时代只需要鼠标操作就可以将BDC取代PDC但是现在看来是不行了,好不容易找到了一片文章,这里总结一下如果在PDC离线和在线状态下迁移
文章如下
多域控制器环境下Active Directory灾难恢复
--------------------------------------------------------------------------------
摘要
本文讲述了在多域控制器环境下,主域控制器由于硬件故障突然损坏,而又事先又没有做好备份,如何使额外域控制器接替它的工作,使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功能。
注:如果PDC在线状态,那么只需要把第四部中的Seize更换为Transfer
解决“该安全证书是由一家您不愿信任的公司颁发的”
不过遇到一个问题就是当访问站点和远程控制的时候浏览器提示“This security certificate was issued by a company that you have not chosen to trust ”(该安全证书是由一家您不愿信任的公司颁发的)郁闷!于是Search微软的KB,找到了这篇KB297681,其原因是:“颁发 Web 站点证书的证书颁发机构 (CA) 的根证书没有在客户端浏览器的受信根证书颁发机构存储区中。此信息不影响在客户端和服务器之间建立安全套接字层 (SSL) 会话。”也就是说我的证书服务器因为不在客户端的root区域所以被认为是不可信赖的,呵呵!这就钱啊,不过微软有解决方案:
servername.domain.com_name_of_certificate_server.crt
如果您找不到根证书文件,请在硬盘驱动器上搜索以 .crt 结尾的所有文件。双击搜索中返回的每个 .crt 文件并查看其详细信息,以确认其系列号与颁发 Web 服务器证书的根证书的序列号相同。
要查看 Web 站点的根证书的序列号,请安全地浏览到 Web 站点(即,使用 https:// 协议),并双击浏览器右下角的挂锁图标。单击证书路径选项卡,并双击顶部的证书。此证书的系列号应当与搜索所返回的根证书相匹配。
2. 将根证书 (.crt) 文件导出到 Base64 根证书 (.cer) 文件。为此,请按照下列步骤操作: a. 在 Windows 资源管理器中,双击此根证书文件。
b. 单击详细资料选项卡,并选择复制到文件以启动证书管理器导出向导。
c. 在向导的第二个屏幕上,选择 Base64,在第三个屏幕上提供此证书的路径和文件名。注意:这就是本文中提供的示例 ASP 代码中使用的文件。
d. 单击下一步,然后单击完成。
3. 修改下列代码的第 11 行,以指向您在第 2 步中创建的 Base64 根证书文件。
<HEAD>
<TITLE>Installing A Root Certificate</TITLE>
<BR>Root Certificate Authority Installation
<BR>
<BR>
<%@ LANGUAGE=\"VBScript\"%>
<%
Set fs = CreateObject(\"Scripting.FileSystemObject\")
Set MyFile = fs.OpenTextFile(\"c:\certificates\base64.cer\", 1)
Output = \"\"
Do While MyFile.AtEndOfStream <> true
line = Chr(34) & MyFile.ReadLine & Chr(34)
If MyFile.AtEndOfStream <> true then
line = line & \" & _\" & Chr(10)
End If
Output = Output & line
Loop
MyFile.Close
Set MyFile = Nothing
Set fs = Nothing
%>
<SCRIPT language=\"VBSCRIPT\">
on error resume next
Dim Str, CEnroll
Set CEnroll = CreateObject(\"CEnroll.CEnroll.1\")
Str = <% Response.Write Output %>
CEnroll.installPKCS7(Str)
Set CEnroll = Nothing
</SCRIPT>
</HEAD>
</HTML>
4. 将修改过的代码另存为 Rootinstall.asp,并保存到 Web 站点位置。默认情况下,位置为 \Inetpub\Wwwroot。
5. 从客户端浏览器浏览到 Rootinstall.asp 文件。如果您的根证书尚未在存储区中,则提示您进行安装。
6. 单击确定。此证书将自动安装到客户端浏览器上的受信根存储区。
注意:此方法只受用在IE浏览器上。
原文地址:http://support.microsoft.com/default.aspx?scid=kb;zh-cn;297681






