32位windows 2003 sp2域控升级到64位windows 2022

记录一台32位windows 2003 sp2域活动目录物理机升级到64位windows 2008R2,并将server 2008R2作为辅助域控并最终将其升级到最新的server2022的过程。

分公司一台windows 2003 sp2域控DC由于使用10多年,硬件已不满足当前需求,因此需要将其升级以防止硬件损坏还有更新到新的域控操作系统。

首先准备好一台安装激活的server2008R2的服务器操作系统,此版本对应的是win7,server2008对应的是vista,server2003对应widows xp,windows server 2012对应的是win 8,Windows server2016和 2019对应的是win10,widows server 2022对应的是win11,因此最好直接升级到server2022终极版一步到位,但是首先还得升级到2008R2,因为我用2019加入2003的时候就提示主域控必须要是2008R2以上才可以做辅助域控,好了升级步骤开始。

一,升级域控domain版本和林Forest版本,至少是2008以上

1、升级之前最好是先在cmd下面运行dcdiag进行排错之后再升级,保险一点。

将server2008 R2加入server 2003的域控使其成为域成员,方法是先设置固定IP,再将主DNS设置为server 2003主域控的IP地址,加入的时候最好修改下默认的电脑名,电脑名必须是大写英文字母开头。

2、加入之后,在server 2008R2上面添加角色功能那里选择active 域控,下一步到了林那里,选择默认第一个添加进现有林,此时可能的报错要安装samba1.0文件共享,那么久就添加角色那里选择文件服务器下面有samba1.0协议,以为server 2003比较老的系统了。如果这一步报错成功跳过之后出现一个框框提示必须运行adprep /forestprep这个提示,那么此时进入下一步

3、回到server2003里面点击开始,找到管理员工具,在找到与信任关系那里,进去之后如果看到域功能级别如果是2000就要升级到2003,如果是2003就直接到下一步

4、去msdn我告诉你或者什么地方搞一个server 2008 32位的操作系统(之前我用64的系统失败了,说机器不适用),把它在win10上右键点击,出现挂载一个光盘图标的时候点进去,这样挂载之后就可以看到里面的文件了,需要电脑有物理光驱。没有就用7ZIP这个压缩软件右键解压也可以,之后把包含adprop的文件夹sources复制到一个2008的目录下,然后把这个2008的目录通过samba文件共享拷贝到server 2003的D盘下面,这时候打开cmd终端,不是直接去用鼠标点击运行那个adprep文件

D:

cd 2008\sources\adprep

adprep /forestprep 输入c然后回车

这个是切换到2008的安装目录,然后运行adprep.exe升级林架构,这一步画的时间大概是几分钟,期间会出现各种successful的提示表示很顺利

接着运行

adprep /domainprep 升级域架构信息

此时我想就可以用server2008加入2003域控做辅助域控了,但是我没有做这一步,因为我要做的是加入2008R2,只是因为之前失败的次数太多,这次成功算是幸运的开始,至少明白32位升级还是需要32位系统。

5、这一步是升级的继续,决定着2008R2能否加入成功的关键,但是因为有了升级成2008成功的经验这一步也就顺利多了。

还是一样的将server2008R2 64位的操作系统ISO解压成文件夹把里面的support文件夹整个传到server2003里面的D盘下面。

还是在cmd命令下返回上级目录,和linux命令一样

cd ..

cd ..

d:

cd 2008r2\support\adprep

5.1 升级林,注意这一步要用32位的命令执行了,也许我之前就是没加这个32导致一只失败,其实可以直接从server2003升级到2008R2,不需要第4步多此一举,但是我的实验第4步功不可没,因为之前挫折太多

adprep32.exe /forestprep 更新林架构 输入c然后回车

adprep32 /domainprep  更新域架构

5.2 与升级到2008相比多了下面这一步

adprep32 /rodcprep 在域中启用只读域控制器,避免影响到原来的域控结构

5,.3 第三步也多了一点

adprep32 /domainprep  /gpprep  更新组策略对象

都是第一条命令久一点,后面两个比较快

此时,server2003的准备工作就做好了,接着回到2008R2上面,继续将添加到现有林里面,就不会报错了,基本下一步下一步等一段时间就加入成功了,最后重启下2008R2发现域用户和计算机下面多出来从2003同步的的与用户了,大功告成!

总结关键的两点,一、要运行adprep /forestprep这条命令成功则如果2003是32位则08必须是也是32,二、如果2003是32位,08 R2是64位,则必须运行adprep32.exe /forestprep这条命令。


6、如果只是做主备,2008R2做辅助域控就已经结束了,但是接下来要夺取server2003的主域控角色,让2008R2做主域控。

先在cmd命令下输入netdom query fsmo 检查当前的5个主机状态,包含域架构主机,域命名主机,PDC,RID池管理器,结构主机这5个选项。当前应该是显示的server2003的主机名

6.1 在active directory用户和计算机下面的网站域名上点击右键,选择操作主机

1.png

6.2 变更RID身份

2.png

6.3 变更PDC 角色指示主域控制器(Primary Domain Controller)身份

3.png

6.4 变更基础架构身份

4.png

6.5 打开控制台根节点,需要两步如下

5.png

6.png

6.6 添加删除管理单元,不做这一步控制台下面什么都没有的

7.png

6.7 添加架构和域和信任关系这两个

8.png

6.8 操作主机,更改操作主机

9.png

10.png

6.9 更改域架构主机,如果提示未连接就先点连接到架构操作主机

11.png

12.png

13.png

6.10 改完这5个身份之后再次验证下有没有成功

14.png

15.png


至此可以看到变更成功了。


这一步也可以不使用图形化,直接用命令来操作

OK开始在2008R2上转移五大角色。

 

在2003DC上进行操作

CMD->ntdsutil
分别输入以下命令回车
roles
connections
connect to server DC2K8.top.com (DC2K8.top.com是DC的全名字)
q
跳到这个界面输入问好?将会出来一些示例命令fsmo maintenance: ?
下面就是转移角式的命令了
transfer schema master
transfer domain naming master
transfer RID master
transfer PDC
transfer infrastructure master
(seize用于当主域出现问题不可访问时即抢夺,transfer用于主域可以访问但要进行迁移即抓取)
 敲完之后按两次q退出
OK,
完成后在2008R2上可以用命令netdom query fsmo

查看一下当前五个角色是否都是DC2K8.top.com,若都是的话那你的迁移基本上就成功了。


2008R2的5大角色转移完成之后就需要在DC03里,运行Active Directory 站点和服务

进入Default-First-Site-Name ->03DC->NTDS Settings右击属性取消全局编录

进入08DC->设置成全局编录

全局编录是一个缓存的功能,可以加快域用户账号的登录速度。


7、接着用server2012加入域控提升为域控制器成功,然后2016也是,到了2019这一步就变成了副本验证失败,林功能级别必须为server 2008或者更高,原因应该是还要兼容旧版本域控服务器比如2003,所以要把旧的低版本全部删除

8、将server 2003从域控服务器降级为普通域成员

8.1 首先把所有的加了域控的成员DNS都改成备用的新版本域控IP地址重新加域,比如群辉NAS,因为马上2003就要下线失去作用了。因为这里刚加入了server2008R2、2012R2、2016所以改成2016的DNS就好,这样避免后面的升级的麻烦

8.2 把2003的DHCP功能和DNS关掉,在services.msc里面停止DHCP server和DNS server这两个,最好自己在centos7上安装dhcp搭建一个dhcp服务器独立出来可以不受后面版本升级的影响,我就是这样干的。当然是下班了才停掉DHCP服务器,启用centos上的dhcp server,毕竟生产环境否则所有电脑上不了网。

8.3 检查全局编录,主要是去掉2003的,再在另外的服务器上启用它就好了

8.4 正式退出2003的域控角色,在开始-运行里面输入dcpromo打开向导,然后下一步输入下管理员密码,不要在那个除非是最后一台域控服务器那里打钩,那是强制删除域控,数据删除不完全,会影响启其他的域控server.然后输完域控管理员密码就等几分钟,它会自己卸载各种目录和服务,完了提示重启你就重启好了。然后2003就变成了一台普通的域成员主机,此时去2008R2的用户和计算机界面下的Domain Controllers 下面的成员就没有2003的主机名了。

8.5 升级林版本,之前虽然通过adprep forestprep升级了林版本,但是在站点信任关系里面看到的还是server 2003,退掉2003之后再去2008可以看到升级选项出来了。

企业微信截图_1713269870578.png

可以升级到2008、2008R2、2012、2012R2,由于我不小心点了2008R2而没有点2012R2,导致后面2019和2022还是提升不了为域控制器,还是显示需要2008或者2008R2版本更高,本以为升级了林为2008R2之后还可以下次继续点进去升级,结果升完后再去看就发现升级不了了。真是个意外啊,最后又折腾了一遍重复将2008R2的5大角色转移到2012上,然后把2008R2降级为普通域成员,然后去站点信任关系那里提升域控级别到2012R2,完了最后2019和2022还是加入不了域控制器,提示林级别必须为2008以上。

9、查看林级别和域级别

1、用户和计算机那里,域名上面点击右键,属性,常规下面就可以看到域级别和林级别

企业微信截图_17132885741346.png

这两个东西是不一样的概念,我现在的问题就是域级别高于林级别,域是2012R2,林是2003,所以2019和2022才加入不了域控。

2、powershell 命令查看,注意不是cmd框框

You can also get the current domain functional level (DFL) using PowerShell:

Get-ADDomain | fl Name, DomainMode

Windows2012R2Domain

Now let’s check the forest functional level (FFL):

Get-ADForest | fl Name, ForestMode

Windows2012R2Forest

最后,也是powershell升高或者降低域或者林的级别,一条命令就搞定了,真的是简单到无语,google搜出来的


When the functional level of the domain is upgraded, the password for the krbtgt system account is automatically changed. If you have an on-premises Exchange Server in your domain, this may cause it to stop due to authentication issues. After updating the DFL, you must restart the Kerberos Key Distribution Centre (KDC) service on all domain controllers:

翻译下意思就是现在那个图形界面域和信任关系里面提升域功能级别到比如2016,然后运行下面的命令重启下服务

$DC=Get-ADDomainController

Get-Service KDC –ComputerName $DC | Restart-Service

Raise Domain and Forest Functional Levels with PowerShell

You can also raise the domain functional level using PowerShell:

然后用下面这条命令,把mydomain换成你的实际域名,Windows2016Domain也可以是2008、2008R2、2012那些替换

Set-ADDomainMode -identity mydomain.com -DomainMode Windows2016Domain

Wait for AD replication to complete and verify that all domain controllers report that the domain functional level is now Windows2016Domain.

Now you can raise the forest functional level:

然后用下面这条命令,把mydomain换成你的实际域名,Windows2016Forset也可以是2008、2008R2、2012那些替换,林可以升级还可以降级

Set-ADForestMode -Identity mydomain.com -ForestMode Windows2016Forest

总之不要太方便,当然敲完命令会出现一个提示,你按回车默认Y是就可以了。但是降级到2003是不可以的,我试过了,会报错。

企业微信截图_17132873696492.png

原文来自这位大神 https://theitbros.com/raise-domain-and-forest-functional-level/

至此,升级域控和林的版本到2008以上就成功了

企业微信截图_17132866048890.png

二、替换掉旧的FRS方式SYSVOL共享文件夹为新的DFSR SYSVOL

接上一步,前面说了用挂载文件夹cmd命令adprep /forestprep升级了林版本到2008R2之后,可以一直加到2016,再高的版本就加不进去了。完了之后终于用powershell升级了林为server 2012R2之后

企业微信截图_17132779832229.png

以为就可以顺利加入2019和2022,其实并没有。又面临了一个新的问题,提示frs复制已经不支持,还是不能提升为域控制器。如下图

企业微信截图_17132893288374.png

下面是解决方法和步骤

本文只针对老版本的windows server。在某些企业中他们的服务器版本较老,有需求升级的话,可以看此文章。对于初学者学习windows server时,本篇文章只针对windows server 16以下的。


说是升级,实则是FRS迁移至DFSR。因为windows 2016RS1系统为最后一版支持FRS。


迁移状态简介:


SYSVOL复制从使用文件复制服务(FRS)到使用分布式文件复制服务


有四种状态:

1126.png

e09b08df64da4fa0a0cbaafaac3dff49.png


开始:在SYSVOL迁移前,FRS复制SYSVOL共享文件夹


已准备:FRS继续复制域使用的SYSVOL共享文件夹,而DFS复制则复制SYSVOL共享文件夹的副本。sysvol共享文件夹的此副本不用于服务来自其他域控制器的请求


重定向:SYSVOL文件夹的DFS复制副本将负责处理来自其他域控制器的SYSVOL请求。FRS继续复制原始的SYSVOL文件夹,但是DFS复制现在复制的重定向状态下使用域控制器生产SYSVOL文件夹


已消除:DFS复制继续处理所有SYSVOL复制。Windows删除原始SYSVOL文件夹,FRS不在复制SYSVOL数据


使用dfsrming命令迁移从开始状态到已消除状态,在变更为已消除状态之前,可以回滚到原状态。

每一步命令都在主要的域控制器那台上的powershell运行,我的是server2012R2那台,运行完了两台都要检查,确认已完成才开始下一步,因为域的复制需要时间一般1-2分钟


实验手册


手动验证一下SYSVOL共享文件夹的可用性。


1.检查每个域服务的健康

通过net share命令查看是否有SYSVOL文件夹。

DC1:

e0d3342b60cd4b9eb5556a4b62c65b03.png

DC2:

6832934bb830440099b9604b2b75a0df.png

2.检查域控制器之间的复制状态

使用命令repadmin /showrepl 来验证两台域控制器是否正常

DC1:

443c7ddf542741d3a6faa9b74f03a524.png


DC2:

895f023b4e654001bcc7c4f4021f0852.png


3.检查活动目录复制是否运行正常

DC1:

a596a1eb61e945bd928e90131b43b9b6.png

DC2:

443e4032a3d6442e8ee6ccf30f8080b5.png


4.检查注册表中SYSVOLReady的键值是否为1

6a8b917754d244339f44ebc6a088432f.png


5.查看DFS Replication服务状态是否为Started


cea0cc632fb34a1592d1c394e21a09a0.png

前面的检查步骤做完之后,开始正式操作了

备份SYSVOL共享文件夹的数据,先安装windows server backup工具,在添加角色和功能里面默认下一步下一步然后功能选择它

企业微信截图_17133192753081.png


安装完了就可以使用Power Shell命令进行备份系统状态

Wbadmin start systemstatebackup -backuptarget:e:

执行系统状态的备份   -backuptarget 备份目标在本地电脑E盘下面

企业微信截图_17133189189209.png

输入Y回车确认开始备份

企业微信截图_17133191588834.png

在PDC上运行dfsrmig /SetGlobalState 1命令迁移域至Prepared状态


1111.png

执行dfsrmig /getglobalstate查看是否迁移至准备状态

1112.png

执行dfsrmig /getmigrationstate确认所有域控制器为Prepared状态

1113.png

1114.png

1115.png


手动检查SYSVOL共享文件夹可用且是否正确复制

验证每个域控制器上创建了SYSVOL_DFSR文件夹,并且验证是否正确拷贝到SYSVOL_DFSR文件中


确认完成后使用可以通过DFS管理来创建DFSR的分析报告

命令太复杂的话,下载FRSDIAG.。下载链接:

https://www.microsoft.com/en-us/download/details.aspx?id=8613

frsdiag.rar

已经下载下来了,安装的话可以安装到E盘,可能提示需要.net3.5,这时候就去那个管理工具添加角色和功能,一直默认选项下一步下一步到那个功能位置,

打勾选择4.0上面那个3.5就好了,然后等一两分钟就提示安装成功了,然后就可以安装这个frsdiag图形化工具了,安装完了去它的安装目录里面双击那个

272KB的文件运行


具体操作如下:

双击打开后是这个页面。

1116.png


我们选择浏览

1117.png


选择我们目标服务器所在的域

1117.png

填写我们的副本集,点击解析,下面就会出现域中的域控制器,有100台的话,只看主域控和额外域控的,就可以只添加两项。点击OK

1118.png


我们做传播复制测试时,选择Propagation File Tracer(传播文件跟踪程序)

1119.png


填写我们保存的路径,设置预期命中次数值设置为1

1120.png



这些操作就是我们执行的这行命令:

DfsrAdmin PropTest New /RgName:"Domain System Volume" /RfName:"SYSVOL Share" /MemName:hidtest\hidad01 /Domain:hidtest

如果在这里执行的话,会生成我们的一些ntfrs,frs的报告


1121.png


迁移到重定向状态


使用命令dfsrmig /setglobalstate 2,将整体迁移为重定向状态

企业微信截图_17133229191823.png

使用命令dfsrmig /getglobalstate验证整体迁移状态为重定向状态

1122.png

使用dfsrmig /getmigrationstate验证所有域控制器达到重定向状态

1123.png

使用net share 可以查看是否映射到DFS复制的DFSR文件夹下。

1124.png

迁移至已消除状态

执行dfsrmig /setglobalstate 3迁移至已消除状态(这步操作以后不能恢复到FRS复制)

1125.png

执行dfsrmig /getglobalstate验证迁移状态

企业微信截图_17133235889967.png


当迁移到已消除状态的时候,要检查所有域控制器都是一致才可以。过一段时间,在域中的每个域控制器都会禁用掉FRS服务

企业微信截图_17133239058061.png

最终,完成这一步之后server2022在提升为域控制器的时候终于不报错了,如下图

企业微信截图_17133240491518.png


回滚状态(正常不需要回滚,除非报错):

在进行回滚时,也是需要进行手动检查健康状态,具体详见上述检查步骤

在PDC仿真主机中,从重定向状态回滚到已准备状态,执行dfsrmig /setglobalstate 1

从已准备状态回滚到开始状态,执行dfsrmig /setglobalstate 0

执行dfsrmig /getglobalstate 验证整体状态为之前的状态

执行dfsrmig /getmigrationstate 验证所有的域控制器到达目标状态

原文链接:https://blog.csdn.net/weixin_52364868/article/details/135205265

三、多个域名之间建立域信任关系

比如总公司和分公司使用不同的域名,那么建立两个域的信任关系就可以在加了域的群晖里面看到对方域内的用户和ping通对方域的计算机名。

1、两台域控的服务器都要建立DNS转发

打开管理工具,DNS管理器,展开域控主机的主机名,下面有4个选项,从上到下分别是正向查找区域,反向查找区域,条件转发器,全局日志。选择第3个,条件转发器,在上点击右键,新建条件转发器,在DNS域下面填写对方的域名,比如xxx.com,主服务器的IP地址那里填写对方的域控服务器的IP地址,比如192.168.1.254,有多个IP就添加多条,再在active directory 中存储此条件转发器上打勾,选择此林中所有的DNS服务器然后点击确定,此时条件转发器下面就多了一条域名,点开可以看到一个IP地址。

2、打开管理工具,active directory 域和信任关系,在域名上面右键点击属性,信任选项卡新建信任,下一步,名称那里输入对方的域名,一般是xxx.com,然后下一步选择与一个windows域建立信任(T),选择林信任,双向信任,只是这个域,全林性身份验证,输入一个复杂点的信任密码,下一步,然后信任下面就会多出来一个域名。


最后编辑于:2024/04/09作者: admin

发表评论