概要
本文介绍了四种启动直接复制伙伴之间复制。 这些方法是: • 使用 lActiveDirectory 站点和服务 MMC 管理 - 中
• 使用命令行 Repadmin.exe 工具从 Windows 2000 支持工具套件
• MicrosoftVisualBasic 脚本中使用 COM 对象从 Windows 2000 支持工具套件
• 从 Windows 2000 支持工具套件使用 ActiveDirectory 复制监视器 (Replmon)
每个这些方法支持使用某种形式的远程管理, 使管理员能够使用这些工具从任何基于 Windows 2000 的计算机。
回到顶端

更多信息
有 ActiveDirectory 设置由一个或多个目录分区或命名上下文。 目录分区是形成一个单位的域控制器之间复制 ActiveDirectory 的连续子树。

ActiveDirectory 中单个服务器始终包含至少三个目录分区: • 架构
• 配置 (复制拓扑和相关元数据)
• 每个域一个或多个目录分区包含特定域的目录中对象 (子树)
例如, 从域 " ntdev.microsoft.com " 域控制器 DC " 1 " 具有下列目录分区 (假设 " microsoft.com " 域存在作为根域并且 DC 1 在不是全局编录服务器): • 架构 () = Configuration, DC = microsoft, DC = com CN = Schema, CN
• 配置 () = microsoft, DC = com CN = Configuration, DC
• 域 NTDEV () = microsoft, DC = com DC = ntdev, DC
从 " support.microsoft.com " 域控制器 DC " 2 " 具有下列目录分区 (假定 DC 2 是不是全局编录服务器): • 架构 () = Configuration, DC = microsoft, DC = com CN = Schema, CN
• 配置 () = microsoft, DC = com CN = Configuration, DC
• 支持域 () = microsoft, DC = com DC 支持, DC =
架构和配置被复制到给定林中所有域控制器。 当目标服务器是全局编录服务器每个域目录分区除复制只向域控制器为该域。 在此示例, DC 1 和 DC 2 复制架构和配置目录分区彼此, 但因为它们不同域中每个域目录分区不复制。 来自相同域控制器复制彼此所有三个目录分区。

对于每个方法下面, " 源 " 服务器描述域控制器复制更改写入复制伙伴。 " 目标 " 域控制器接收更改。
回到顶端

初始化复制使用站点和服务管理器管理单元
1. 单击 A0 > 开始 , 指向 程序 , 指向 管理工具 , 依次 lActiveDirectory 站点和服务 。
2. 展开左窗格中 站点 容器。 展开容器, 代表包含目标服务器需要与其复制伙伴同步站点的名称。
3. 展开 服务器 容器, 然后展开 目标 服务器以显示 NTDS 设置对象, 代表对域控制器设置 (对象)。
4. 单击 NTDS 设置 对象。 右窗格中连接对象表示目标服务器的直接复制伙伴。
5. 右击在右窗格中, 连接对象, 然后单击 立即复制 。 来自源服务器 (服务器由连接对象表示) 到目标服务器为目标服务器被配置为从源服务器中复制所有目录分区 Windows 2000 启动复制的任何更改。

回到顶端

初始化复制使用 Repadmin.exe
Repadmin.exe 是命令行工具从 Windows2000CD-ROM 上 SupportTools 文件夹中包含 Windows 2000 资源工具包。 1. 确定需要同步目标服务器的名称。
2. 在命令提示符处, 使用 Repadmin.exe 通过键入以下命令来确定目标服务器的直接复制伙伴:
repadmin /showreps target_server_name
如果目标服务器可以访问, 则显示输出类似于以下示例。 在本示例, DC 1 和 DC 2 处于同一域, 现在 " support.microsoft.com "。
Redmond\DC1
DSA 选项: (无)
objectGuid 00c04f5cb503 f9ab 11 4a11d649 - - d 2 - - b17f:
invocationID 0000f87a546b f9ab 11 45d18b0b - - d 2 - - 98b8:

= INBOUND NEIGHBORS ======================================

CN = com = Configuration, DC = microsoft, DC = Schema, CN

通过 RPC Redmond\DC2
objectGuid 0000f87a546b e07a 11 d2e3badd - - d 2 - - b573:
@ 05 03 1999 - - 18:07.04 上次尝试成功。

CN = com = microsoft, DC = Configuration, DC

通过 RPC Redmond\DC2
objectGuid 0000f87a546b e07a 11 d2e3badd - - d 2 - - b573:
@ 05 03 1999 - - 18:07.05 上次尝试成功。

DC = com = microsoft, DC = 支持, DC

通过 RPC Redmond\DC2
objectGuid 0000f87a546b e07a 11 d2e3badd - - d 2 - - b573:
@ 05 03 1999 - - 18:07.09 上次尝试成功。


排除, 因为它并不属于本文 (其他数据。
在入站邻居部分的输出, 以及上次复制的状态标识为每个目录分区直接复制伙伴。 
3. 查找需要同步目录分区并找到源服务器与目标将同步。 注意 objectGuid 的源服务器。
4. 使用 Repadmin.exe 来通过键入以下命令启动复制:
repadmin /sync directory_partition target_server_name source_server_objectGuid
例如, 以上启动复制从 DC 2 复制 DC 1 以便更改:
repadmin /sync dc = 0000f87a546b com DC 1 e07a 11 d2e3badd - - d 2 - - b573 dc dc = 支持, = microsoft,
如果成功, Repadmin.exe 显示以下消息:
从源 ReplicaSync(): 0000f87a546b e07a 11 d2e3badd - - d 2 - 到 dest -, b573 DC 1 是成功:。 
命令行上可选, 可使用下列开关: • / force: 覆盖正常复制计划。
• /async: 启动复制事件。 Repadmin.exe 不等待复制事件, 完成。
• / 完全: Forces 完全复制的所有对象从目标 DSA。

回到顶端

启动 VisualBasic 脚本使用 IADsTools 中复制
在基于 Windows 2000 的计算机将执行该脚本, 安装支持工具 Windows2000ResourceKit, 包括 ActiveDirectory 复制监视器和 IADsTools (COM 对象) 可用于许多函数, 包括一个述来同步复制伙伴。 函数参数详细信息位于 Windows 2000 资源工具包文档。

ReplicaSync 函数是用于同步目标域控制器与源对给定目录分区。 ReplicaSync 函数语法如下所示
ReplicaSync target_server , directory_partition 、 source _ server , use_flags , use_credentials )
位置: • target_server 是域控制器接收更改, 正在同步与 source _ server 。
• directory_partition 是要复制分区。
• source _ server 是域控制器, 将更改复制到目标服务器。
• use_flags 不必指定, 但如果设置为 1, 函数探讨指定 SetReplicaSyncFlags (请参阅有关 Windows 2000 资源工具包文档) 以确定哪个选项以请求中设置标志。 若要指定无标志, 使用值为 0 (零)。
• use_credentials 没有用于默认如果登录用户具有管理凭据。 如果指定此参数并且值是 1, 函数外观 sat 凭据由 SetUserCredentials 函数 (下文) 并传递那些与请求。 如果此参数指定, use_flags 还必须指定
此函数返回成功 0 或 1 表示失败。
例如, 如果 DC 1, 上登录用户具有管理凭据可被运行为 DC 1 与 DC 2 上为目录分区所发生任何更改同步以下脚本 " DC = microsoft, DC = com: " 支持, DC =
设置 comDLL=CreateObject("IADsTools.DCFunctions")
Result=comDLL.ReplicaSync("DC1","dc=support,DC=microsoft,dc=com","DC2")
如果结果人 MsgBox " 失败 " 然后 MsgBox " 完成成功 " = 0。

如果需要指定, 备用凭据 SetUserCredentials 函数是用于与指定值是 " 1 " 表示最后参数以 ReplicaSync 函数指定它们。 SetUserCredentials 函数具有以下语法
SetUserCredentials name , domain _ name 、 user_LDAP_dn , 密码 )
位置: • name 是域中的帐户的低级用户名称。
• domain _ name 是 NetBIOS 域名的用户帐户。
• user_LDAP_dn 对于 ReplicaSync 函数不需要但可指定。 这是指定用户帐户可分辨名称。
• 密码 是对用户密码。
例如, 之后修改上述脚本, 它应该类似以下示例:
设置 comDLL=Createobject("IADsTools.DCFunctions")
comDLL.SetUserCredentials " johndoe ", " 支持 ", " "、 " 密码 "
Result=comDLL.ReplicaSync("DC1","dc=support,microsoft,dc=com","DC2",0,1)
如果结果人 MsgBox " 失败 " 然后 MsgBox " 完成成功 " = 0。

在 VBScript, 键入 VARIANT 时定义所有变量。 将变量传递给 IADsTools 对象, 中任何函数那些变量必须显式键入。 例如:
设置 comDLL=Createobject("IADsTools.DCFunctions")
CStr(strPassword) comDLL.SetUserCredentials CStr(strUserName), CStr(strDomainName),
CStr(strSourceServer), Result=comDLL.ReplicaSync(Cstr(strTargetServer), CStr(strDomainPartition), CInt(iFlags) CInt(iUseCreds))
如果结果人 MsgBox " 失败 " 然后 MsgBox " 完成成功 " = 0。

要查看语言和运行时库引用对于 VBScript, 请访问 Microsoft Web 站点:
http://www.msdn.com/scripting (http://www.msdn.com/scripting)
回到顶端

初始化复制使用 ActiveDirectory 复制监视器
1. 在将运行脚本, 基于 Windows 2000 的计算机上安装 Windows 2000 支持工具资源工具包, 包括 ActiveDirectory 复制监视器 (Replmon.exe)。
2. 启动 ActiveDirectory 复制监视器再单击 编辑 菜单上 添加站点 / 服务器 。 使用 " 添加网站或服务器 " 向导要在目标服务器添加到视图。
3. Replmon.exe 标识目录分区并作为子节点与目标服务器在左窗格中显示。
4. 找到并展开需要同步目录分区。 列出给定目录分区的所有域控制器是源服务器, 但直接复制伙伴都显示用图标表示两个网络连接服务器。 还可以通过右击服务器并单击 属性 来识别直接复制伙伴。 属性对话框显示源服务器作为直接复制伙伴、 Transitive 复制伙伴或 BridgeHead 连接 (也直接复制连接)。
5. 右击直接复制伙伴, 然后单击 同步副本 。 Replmon.exe 启动复制并报告成功或失败的请求。

回到顶端