步骤如下:

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 在桌面上显示”我的电脑”

    转至:https://jingyan.baidu.com/article/f25ef2544f6883482c1b82e5.html Windows Server 2012 沒有快捷方式显示我的电脑到 ...

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

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

  9. Windows Server 2012 R2

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

随机推荐

  1. Java 如何调用 oracle 的存储过程

    通过命令行创建存储过程 create or replace procedure emp_sal(eno emp.empno%type,esal out emp.sal%type) as begin s ...

  2. Spark 源码解析 : DAGScheduler中的DAG划分与提交

    一.Spark 运行架构 Spark 运行架构如下图: 各个RDD之间存在着依赖关系,这些依赖关系形成有向无环图DAG,DAGScheduler对这些依赖关系形成的DAG,进行Stage划分,划分的规 ...

  3. Windows 8.1 操作系统常用快捷键

    安装了 windows 8.1 有一段时间了,刚使用时有点儿不太习惯,后面知道了一些常用快捷键后,使用起来习惯多了.下面是一些常用的 Windows 8.1 快捷键: Ctrl + Tab: 访问所有 ...

  4. 那些年遇到的php之坑

    1. php指针没有重置 $arr = array( array('aaaaaaaa'), array('bbbbbbb') ); unset($arr[0]); unset($arr[1]); so ...

  5. STL容器 -- Set

    核心: set 是一个数学含义上的集合-----保证了每个数的确定性, 互异性, 不仅如此, set 中的元素还是有序的. 头文件: #include <set> 拓展:由于 set 内的 ...

  6. shell 从变量中切割字符串

    1. 在shell变量中切割字符串 shell中截取字符串的方法有很多中,${expression}一共有9种使用方法.${parameter:-word}${parameter:=word}${pa ...

  7. 【记录】mysql 无法启动 : NET HELPMSG 3523

    mysql 无法启动 : NET HELPMSG 3523后来注意到mysql 配置文件的格式是 utf-8 还是有bom的utf-8 bom格式前面会多出一些看不见的字符,所以mysql读取配置文件 ...

  8. jquery实用的一些方法

    做个购物车功能,需要修改下前端页面 有些实用的方法总结一下 当你想实现最基本的加减法的时候,对于转换number实用Number(str)即可 首先明确下页面的每一行是动态的,这个时候绑定事件的时候不 ...

  9. Bzoj1202/洛谷P2294 [HNOI2005]狡猾的商人(带权并查集/差分约束系统)

    题面 Bzoj 洛谷 题解 考虑带权并查集,设\(f[i]\)表示\(i\)的父亲(\(\forall f[i]<i\)),\(sum[i]\)表示\(\sum\limits_{j=fa[i]} ...

  10. java基础小测试

    1.JDK,JRE,JVM三者的区别 jdk:java 开发工具包 jre:运行环境 jvm:虚拟机 2.javac的作用 ,反编译工具的作用 javac:将java文件编译成class文件 反编译: ...