当Windows Server 2012的主DC出了问题, 如何迁移其上的FSMO角色?

时间:2023-01-22 16:05:34

步骤如下:

1. 遵循https://support.microsoft.com/kb/255504中的transfer FSMO的步骤.

2. 这样做之后还没完. 因为Windows Server 2012有点特殊, 如果你这时shut down掉老的PDC. 你会发现你的新PDC还是会尝试contact 老的PDC, 然后报错.

3. 看一下新的PDC的event viewer, 你会发现如下的警告(Warning):

This server is the owner of the following FSMO role, but does not consider it valid. For the partition which contains the FSMO, this server has not replicated successfully with any of its partners since this server has been restarted. Replication errors are preventing validation of this role.

 
Operations which require contacting a FSMO operation master will fail until this condition is corrected.

 
FSMO Role: DC=OldPDC,DC=local

 
User Action:

 
1. Initial synchronization is the first early replications done by a system as it is starting. A failure to initially synchronize may explain why a FSMO role cannot be validated. This process is explained in KB article 305476.

2. This server has one or more replication partners, and replication is failing for all of these partners. Use the command repadmin /showrepl to display the replication errors.  Correct the error in question. For example there maybe problems with IP connectivity, DNS name resolution, or security authentication that are preventing successful replication.

3. In the rare event that all replication partners being down is an expected occurance, perhaps because of maintenance or a disaster recovery, you can force the role to be validated. This can be done by using NTDSUTIL.EXE to seize the role to the same server. This may be done using the steps provided in KB articles 255504 and 324801 on http://support.microsoft.com.

 
The following operations may be impacted:

Schema: You will no longer be able to modify the schema for this forest.

Domain Naming: You will no longer be able to add or remove domains from this forest.

PDC: You will no longer be able to perform primary domain controller operations, such as Group Policy updates and password resets for non-Active Directory Domain Services accounts.

RID: You will not be able to allocation new security identifiers for new user accounts, computer accounts or security groups.

Infrastructure: Cross-domain name references, such as universal group memberships, will not be updated properly if their target object is moved or renamed.

4. 遵循http://support.microsoft.com/kb/305476中的步骤, 修复此问题.

4. 下一步, 遵循http://technet.microsoft.com/en-us/library/jj574104.aspx中的步骤, 将老的PDC demote掉.

 

Powershell

==================================

Windows 2012上迁移这些FSMO roles非常方便了, 一个PowerShell命令搞定.

Move-ADDirectoryServerOperationMasterRole -Identity “MyAnotherNonPDC” –OperationMasterRole PDCEmulator,RIDMaster,InfrastructureMaster,SchemaMaster,DomainNamingMaste

 

Seize FSMO roles和Transfer FSMO roles的区别

==================================

比方说DC 2 在Seize 了FSMO role, 那么就相当于DC2 偷偷的把DC1的PDC的role的title给拿过来了, 说它是PDC. 但是DC1并不知道它的title被别人拿走了. 那么在DC1重启之后, 就会重新宣布它还是PDC, 于是5个roles就会自动的换回DC1之上.

所以, 一劳永逸的方法有两个:

  • A. 在DC2 Seize了FSMO roles之后, 把DC1 立即shut down. 永不再启用.
  • B. 不要用Seize, 而是使用Transfer. 这样DC1和DC2就会在谁拿这个title上有个沟通. 永久的完成角色的转换.

在这里感谢宝妮屋同学的精彩解释.

 

当新PDC中的Sysvol文件夹中为空时, 可以执行下面的步骤, 来完成Sysvol的rebuild

=================================

SYSVOL Replicated Through DFS-R – Authoritative Restore – Steps To Take

To perform an authoritative restore of the SYSVOL when using DFS-R, use the following steps:

  • Start the Registry Editor
  • Navigate to "HKLM\SYSTEM\CurrentControlSet\Services\DFSR"
  • Create a key called "Restore" (only time only)
  • Create a string value called "SYSVOL" (only time only)
  • For the string value called "SYSVOL" assign the value of authoritative
  • Navigate to "HKLM\SYSTEM\CurrentControlSet\Control\BackupRestore"
  • Create a key called "SystemStateRestore" (only time only)
  • Create a string value called "LastRestoreId" (only time only)
  • For the string value called "LastRestoreId" [1] assign the value of 10000000-0000-0000-0000-000000000000
  • Stop the DFSR Service
  • Start the DFSR Service

From the command-line the same can be achieved through:

  • REG ADD "HKLM\SYSTEM\CurrentControlSet\Services\DFSR\Restore" /v SYSVOL /t REG_SZ /d "authoritative" /f
  • [1] REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\BackupRestore\SystemStateRestore" /v LastRestoreId /t REG_SZ /d "10000000-0000-0000-0000-000000000000" /f
  • NET STOP DFSR
  • NET START DFSR

 

其他

=================================

一些其他的相关命令:

net stop dns

net stop netlogon

ipconfig /flushdns

net start dns

net start netlogon

ipconfig /registerdns

可以使用下面的命令来对DC进行检测并输出日志, 供troubleshoot.

dcdiag /v >c:\temp\dcdiag.log

dcdiag /v | out-file c:\temp\dcdiag.log

使用下面的命令来检查FSMO是否迁移成功

netdom query fsmo

 

注意

=================================

1. 新promo的DC一定不要跟老的DC用一样的机器名和IP地址, 否则会出错. 感谢Kun总的分享.

2. Windows Server 2008, 2008 R2, 2012, 2012 R2后, Sysvol的replication都是通过DFS service来做的, 2003和2003 R2都是通过FRS service 来做的.

 

笔者的环境有一台DC, 由于Windows 2012的测试版过期之后, 会一个小时重启一次, 即使有key也无法把DC convert过来. 所以就有了迁移DC的需求. 迁移了FSMO之后, 发现新DC还是无法独立承担DC的角色. 运行DCDiag, 发现如下的错误信息.

Fatal Error:DsGetDcName (servername) call failed, error 1355

网上看了不少帖子, 最后也没找到合适的解决方法. 后来经过同事的帮助, 发现新DC的c:\windows\sysvol文件夹为空, 而且查看该DC的共享也是空的, 所以无法接受DC信息的replication.

后来rebuild了sysvol之后, 问题解决了.

 

参考资料

=================================

Transfer/Seize FSMO Roles to Windows Server 2012 Using Powershell

http://abhijitw.wordpress.com/2013/05/06/fsmo-roles-transferseize-using-powershell/

Move-ADDirectoryServerOperationMasterRole

http://technet.microsoft.com/en-us/library/ee617229.aspx

How to view and transfer FSMO roles in the graphical user interface

http://support.microsoft.com/kb/255690

Using Ntdsutil.exe to transfer or seize FSMO roles to a domain controller

https://support.microsoft.com/kb/255504

Time configuration in a Windows Domain

http://msmvps.com/blogs/mweber/archive/2010/06/27/time-configuration-in-a-windows-domain.aspx

Time synchronization may not succeed when you try to synchronize with a non-Windows NTP server in Windows Server 2003

http://support.microsoft.com/kb/875424/en-us

ADSI Edit (adsiedit.msc)

http://technet.microsoft.com/en-us/library/cc773354(v=ws.10).aspx

You cannot log on to the domain, join a computer to the domain, or run the Active Directory Installation Wizard (Dcpromo.exe) in Windows Server 2003

http://support.microsoft.com/kb/958804/en-us

How to rebuild the SYSVOL tree and its content in a domain

http://support.microsoft.com/kb/315457/en-us

Restoring and Rebuilding SYSVOL

http://technet.microsoft.com/en-us/library/cc816596(v=WS.10).aspx

(2010-08-12) Restoring The SYSVOL (Non-)Authoritatively When Either Using NTFRS Or DFS-R (Part 3)

http://jorgequestforknowledge.wordpress.com/2010/08/12/restoring-the-sysvol-non-authoritatively-when-either-using-ntfrs-or-dfs-r-part-3/

Restoring and Rebuilding SYSVOL

http://technet.microsoft.com/en-us/library/cc816596(v=WS.10).aspx

当Windows Server 2012的主DC出了问题, 如何迁移其上的FSMO角色?的更多相关文章

  1. Windows Server 2012 R2 部署DC及主辅DC

    背景信息: 资源组:hlmdcn DC1:windows Server 2012 R2 Datacenter, A2, hlmdc1, 10.8.0.4DC2:windows Server 2012 ...

  2. Windows Server 2012 R2里十个极好的新功能

    Windows Server 2012 R2具备的众多新特点大大的增强了操作系统的功能性,同时也是在Windows Server 2012原有功能上的拓展.这里整理出Windows Server 20 ...

  3. Windows Server 2012部署第一台域控

    windows server 2012在部署DC方面有了一些改变,不但在操作上有一些改变,而且有了新的DC克隆的功能.本文就先来体验一下如何将一台windows server 2012 RTM服务器提 ...

  4. Windows Server 2012 在桌面上显示”我的电脑”图标

    1.本地方式如果是在Windows Server 2012本地控制台下,直接按Win(键盘上的微软徽标键)+R,输入: rundll32.exe shell32.dll,Control_RunDLL ...

  5. windows server 2012 下IIS8.5关于“ 配置错误 不能在此路径中使用此配置节”的解决办法

    服务器升级为windows server 2012 r2后,发布在新装的IIS8.5上的网站不能访问,页面显示“500 - 内部服务器错误.” 在服务器上调试后,提示的错误信息为: 配置错误 不能在此 ...

  6. 已集成 VirtIO驱动windows server 2012, 2008, 2003的ISO镜像下载

    已集成 VirtIO驱动简体中文windows server 2012, 2008, 2003系统ISO镜像下载地址. 适用于上传自定义ISO并且使用 VirtIO驱动的kvm架构vps,vultr家 ...

  7. Windows Server 2012 虚拟化实战:域

    在Windows Server系统中,一些服务必需要构建在域的环境中,这不仅是为了统一验证和资源共享,同时也是为了网络安全.为构建虚拟化测试,我们需要先搭建域环境.之前先来大概了解一下域. 在使用工作 ...

  8. Windows Server 2012 R2

    Windows Server 2012 R2 历史上的Server有2003 server, 2008 server, 2012 server windows server 2012 r2对计算机的消 ...

  9. Windows server 2012 利用ntdsutil工具实现AD角色转移及删除域控方法

    场景1:主域控制器与辅助域控制器运行正常,相互间可以实现AD复制功能.需要把辅助域控制器提升为主域控制器 ,把主域控制器降级为普通成员服务器:这种场景一般应用到原主域控制器进行系统升级(先转移域角色, ...

随机推荐

  1. Windows phone重写返回键

    protected override void OnBackKeyPress(System.ComponentModel.CancelEventArgs e) {//需要设置这个属性 e.Cancel ...

  2. cloudera learning3:Hadoop配置和守护进程logs

    Services:Haddoop cluster上可以部署的组件,比如HDFS,YARN,HBase等. Roles:在service配置时,由Cloudera Manager创建.比如NameNod ...

  3. DNS(企业级)

    构建DNS(企业级) 1.硬件选型 CPU:12C以上配置 内存:16G 网络:千兆 2.初始化系统配置 关闭 iptables service iptables stop chkconfig ipt ...

  4. Android 调节当前Activity的屏幕亮度

    调节的关键代码: WindowManager.LayoutParams layoutParams = getWindow().getAttributes(); layoutParams.screenB ...

  5. 安装Windows SDK7.1时发生的一个错误(附解决办法)

    A problem occurred while installing selected Windows SDK components. Installation of the "Micro ...

  6. Java 8 新特性终极版

    声明:本文翻译自Java 8 Features Tutorial – The ULTIMATE Guide,翻译过程中发现并发编程网已经有同学翻译过了:Java 8 特性 – 终极手册,我还是坚持自己 ...

  7. Unity无缝循环世界实现

    一年前曾经碰到过已无限世界为题材的游戏开发比赛,虽然对比赛没有兴趣,但是对这个题材倒是有点想法.如何通过unity3d实现无缝的循环世界呢. 有一种想法是动态生成,一块场景一块场景进行动态加载.(做过 ...

  8. oracle 11g禁用和强制direct path read

    一般在混合型环境中,大表在进行全表扫描或者走并行的时候一般会出现direct path read等待事件,如果在OLTP或者纯粹的DSS环境中,出现大量的direct path read直接路径读取, ...

  9. 年度编程语言最佳候选人:Kotlin vs. C

    转瞬之间,今年已进入为期不足一个月的倒计时模式.在编程语言界,谁将问鼎 2017 年度编程语言?诸多开发者众说纷纭,有人说是最近风头正盛且被纳入中国高考科目的 Python.有人认为还是老牌常青藤 J ...

  10. Gzip压缩和解压

    /// <summary> /// 将传入字符串以GZip算法压缩后,返回Base64编码字符 /// </summary> /// <param name=" ...