ADMT  Ver3优于Ver2,用Ver3可避免一些操作错误。

**建议安装Windows Resource Kit Tools,其中的acctinfo.dll对验证账户SID_histroy很有帮助。
****
具体用法:
            安装Rktools后,在其目录下的acctinfo.all复制到”%windir%/system32/”     
            开始〉运行(Alt+R)输入:regsvr32  %windir%/system32/acctinfo.dll”
            卸载:”regsvr32 /u ……”
**
视情况可选安装ADAM,具体工具使用方法可登陆微软Technet或工具自带帮助文件。

**
我用的Virtual PC2007搭建的虚拟环境
**本步骤是以吕老师实验说明为基础,并结合ADMT v3.0帮助文档写成,所有步骤本人已经验证通过。

环境
 
  三台Windows server 2003 SP2 Ent域服务器,两台Windows XP perfessional SP2客户端,在一个网络192.168.100.0/24中。
目的:把一个域中的用户和组迁移到另一台域中,保证登录密码不能变,访问权限不能变。

下面开始这个试验的细节步骤。请仔细阅读。

1.
    
三个域,分别是xnycool.comnew.comold.com。(我这里做xnycool.comDC是为了做网关,其实网关指向自己也应可以,但其他实验也要用,就做了;为了方便记忆,把源域配置成old.com,目标域配置成new.com,,希望大家能看懂 J)。
域控制器分别是:dc.xnycool.com>Gateway domain controller;olnewdc.old.com>source domain controller.newdc.new.com>destination domain controller.
在很多情况下,都是从windows2000 server迁移到windows server 2003,不过这两种环境下的操作没有太多的不同。
    
两台客户机,都安装xp sp2 cn.以后我们将配置成oldxp.old.comnewxp.new.com
具体配置如列表1
 
 
 
 
 
 
 
   
  VPC
dc.xnycool.com
(win svr 2003)
  olddc.old.com
 (win svr 2003) 
  newdc.new.com
  (win svr 2003)
  oldxp.old.com
 ( xp)
  newxp.new.com
 (xp )
  IP
  
192.168.100.1/24
  192.168.100.10/24
  
  192.168.100.100/24
  
  192.168.100.11/24
  
  192.168.10.110/24
  
  Admin password 
  P@ssw0rd
  P@ssw0rd
 P@ssw0rd
  Null
  Null
  DNS
127.0.0.1
  127.0.0.1
  
  127.0.0.1
  
  192.168.100.10
  
  192.168.100.100
  
备用DNS
Null
192.168.100.100
192.168.100.10
这是第4步的设置
    因为我用的重新封装,所以密码设成一样了,注意DC的密码复杂度的要求。PC没有设置密码。
    
安装AD的时候,连同DNS一起安装(AD,WINS,DNS,DHCP)

2.

    
在系统安装基本完成后添加一些OU,user, group
列表2
   
  
  olddc.old.com
  
 newdc.new.com
  
  OU
  
 oldou
  
  newou
  
  User
 password 
 olduser0, olduser1,olduser2,olduser3
  Olduser!!
  newuser1
  Newuser!!
  Security group
  
  oldgroupp
  
   
  
   olduser1,olduser2olduser3添加到oldgroup
3.
    
把两台PC分别加入域,并且用各自域的administrator登入。
olddc.old.com中新建文件夹oldgroup并在其中新建oldgroup.txt,赋予oldgroupFull Control,
    
再新建文件夹onlyuser3,并在其中新建olduser3.txt,赋予olduser1,olduser2 Readonlyolduser3 Full Control
olduser*分别登录oldxp,在oldgroup.txtolduser3.txt中写入olduser*在迁移前修改”.(只读的当然不能改了),保存.
这里olduser0是验证权限用,其余四个用户(olduser1,olduser2,olduser3newuser1)用于验证SID History
4.
    
配置olddcnewdcdns,设置条件转发,如表1。这一步在接下来的信任域中是很有用的。

5.
    
在两台DC中插入windows server2003系统盘,安装SUPPORT/TOOLS/ SUPTOOLS.MSI,这其中有接下来需要的程序命令netdom。这个命令用于配置域信任属性。在newdc.new.com中安装Active Directory Migration Tool v3.0,并且默认安装MSSQL server Desktop Engine。(一般DC上不会安装SQL,如果安装了就使用已有SQL吧),建议在olddc上也安装,因为要用到密码迁移服务,安装完后重启电脑。

    
好了,所有的准备工作都已经做完了,接下来就开始作迁移了。以上的准备工作都是相当重要。一定要仔细看步骤,认真对照。

6.
    
提升两台DC的域功能,在AD域和信任关系中右击域控制器,选择提升域功能级别...可以提升到windows2003,但提升到这个级别是不可逆的。


7.
   
new.com中添加old.com的信任关系。在AD域和信任关系中,展开ADST(AD域和信任关系右击new.com, 选择属性。在信任列表中点击新建信任 下一步
输入old.com, 下一步>双向下一步只是这个域>全域性认证>下一步 

输入与管理员密码:P@ssw0rd , 下一步 下一步>
从提示信息可以看到trust建立完成下一步
>
这里询问方向,这里我们要使用双向信任直到最后完成。

    
最后会弹出一个消息对话框说当启用外部信任后SID过滤就启用了。在后面的用户迁移中我们要关闭这个功能。
    
其命令行是:netdom trust TrustingDomainName/d:TrustedDomainName /quarantine:No/uo:domainadministratorAcct /po:domainadminpwdADMT帮助文件中有)

    
完成以上的步骤可以用一条命令,newdc.new.com中, cmd输入:
netdom trust old.com /uo:administrator /po:P@ssw0rd /d:dist /ud:administrator /pd:P@ssw0rd /add /twoway /enablesidhistory

8.
    
在做用户迁移中需要对方的administrator权限,所以要把这两个域的administrator用户或者domain admins组加入到对方的administrators组中,建议选择加入domain admins组,administrator也是这个组中的成员。



9.
    
在迁移密码的时候需要生成一个数据库,.pes文件,用于存放密码。在newdc.new.comcmd中输入命令:
admt key /option:create /sourcedomain:old.com /keyfile:c:/keyfile /keypassword:password(
这个密码可有可无)
完成后,在C盘中就会生成keyfile.pes这个文件,然后把这个文件复制到olddc.old.comC:/下,可以用共享的方法。在这里我对数据库文件创建了个密码。这个密码可有可无。


10.
    
现在就要开始在olddc.old.com中安装PESPassword Export Server)服务了,这个服务用于域间资源迁移,在整个迁移过程中其核心作用。现在来安装PES(pwdmig.msi)。这个安装文件在newdc.new.com中,路径是:C:/WINDOWS/ADMT/PES/。安装ADMT后才有。

     
在说明一点这个程序在系统光盘中也有,路径在/I386/ADMT/PWDMIG。这个是2.0版本的,测试下来和3.0不兼容。

     
开始安装PES


    
直至安装完成提示重新启动。
    
如果你没有在9中设置密码,密码提示框是不会出现的。建议选择: new/administrator登陆,这样在newdc迁移过程中能直接读取olddc中数据库里的信息。
重启后,PES默认是不自动启动的,这需要手动让它运行。
    
打开services.msc,右击Password Export Server Service, 然后点 Start。现在PES才开始运行。注意,迁移完所有的资源后,关闭他,其实重启下olddc就可以了。


11.
    
接下来回到newdc开始做迁移了。我先迁移哦oldgroup,先迁移组或成员,对结构关系才不会改变。打开AD迁移工具。右击Active Directory迁移工具,点组账户迁移向导
下一步>源和目的不能选错>下一步>从域中选择组>添加 >输入 oldgroup>确定>
选择
newou>
这里要勾选迁移 SIDs  目标域,这是我们的目的。


next
下去后会弹出三个tip,一一确定,分别是询问开启源域的审核,目标域的审核,和在源域 DC中创建SOUR$$$组。接下来就是输入old.com的管理员用户名和密码,下一步在Object Property Exclude中询问是否需要排除某些属性,默认不排除任何属性下一步 
随后的 冲突管理中询问当出现冲突的时候采取的策略,一般来说当迁移到一个新安装的dc中,是不会出现冲突的。这里按照默认的选择,下一步
到此就完成了向导, finish. 结束后,系统提示迁移完成,可以查看相应的log,并可以在newou中查看结果

oldgroup
已经迁移过来了。迁移过来了是否就能同以前一样使用呢?我们要测试才知道。

12
    
在此之前我们在olddc.old.com中用建立了两个共享文件夹,其权限参考3。在oldgroup组中的用户对oldgroup共享文件夹有完全权限。现在我们把newuser1加入到oldgroup中,看看newuser1是否能修改oldgroup.txt。通过网络邻居访问oldgroup,发现没有足够的权限。其原因是,当建立域间外部信任的时候,SID筛选会自动启用,只有关闭SID筛选功能才能访问。
newdc.new.com中输入:
 
Netdomtrust old.com /domain:new.com /quarantine:no /usero:administrator /passwordo:P@ssw0rd

好了现在再看看,能不能访问了

oldgroupSIDHistory验证结束。

13
    
现在来迁移用户同样右击,点用户账户迁移向导.前面设置和组迁移操作无异,

当操作到这里,注意选择,选择迁移密码。如果选择生成复杂密码,会把新的密码写入一个文件中。以后登录就是用生成的新密码,而不是原来的密码。就违背了我们当初的要求。下一步

如果出现与PES连接不上,说明Password Export ServerService没有手动开启或正常安装。参考10

确认选中迁移用户 SIDs 到目标域

接下来根据自己的情况选择吧。

迁移后,用olduser1登录到newxp,访问共享文件。

能完全控制了。查看共享文件夹的属性发现,用户也更改了。

说明用户彻底迁移过去了。
olduser登录new域时,注意到用户登录后需要更改密码了。这是迁移策略所致,迁移日志中记录已禁用“密码永不过期”。查看下账户选项.

如果不希望下次登录需要修改密码,修改其属性。


14
    
迁移计算机。这个功能不好用也不常用。当需要迁移计算机的时候,只需要重新在加入目标域就可以了。如果是olddc,迁移后重新安装系统并加入域即可。然后把修改clientDNS指向到newdc就可以,即192.168.10.5

15.
    
所有的这些都完成了,就把信任域关系给删除。


    
好了,现在彻底完成这项试验了。
16.
   关于组策略的所有设置,迁移后将不会变,用户配置文件在计算机迁移后仍可用。
   比如:olduser1在迁移前在oldxp上自动生成olduser1文档,用户和计算机都迁移后,登陆会慢些,自动生成olduser1.NEW文档,olduser1用户只能打开这两个文档,我想这就是解决SID历史过渡问题。