步骤如下:

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. 开源IDS系列--snorby 2.6.2 undefined method `run_daily_report' for Event:Class (NoMethodError)

    rails runner "Event.run_daily_report"测试邮件配置undefined method `run_daily_report' for Event:C ...

  2. bzoj 1123 tarjan求割点

    #include<bits/stdc++.h> #define LL long long #define fi first #define se second #define mk mak ...

  3. HTML 如何显示英文单、双引号

    // 过滤英文引号替换成中文引号 function pregstring($str){ return preg_replace('/"([^"]*)/','&quot${1 ...

  4. linux——(6)vim与vi

    概念:vi与vim的区别 vi是一款老式的文字处理软件,不过现在依然广泛使用,所有的UnixLike系统都会内置vi文本编辑器. vim可以看出vi的升级版,不过vi更像是一个程序开发工具,功能也比v ...

  5. UIViewController的基本概念与生命周期

    UIViewController是iOS顶层视图的载体及控制器,用户与程序界面的交互都是由UIViewController来控制的,UIViewController管理UIView的生命周期及资源的加 ...

  6. mysql 之 用python操作数据库

  7. 使用matplotlib绘图(三)之饼图

    # 使用matplotlib绘制饼图 import numpy as np import matplotlib.pyplot as plt # 设置全局字体 plt.rcParams['font.sa ...

  8. 记一次初步Linux提权

    前言. 提权这么久了  还是头一次提下Linux的服务器... 由于之前一直钻研的win服务器  要不是前些日子爆出来Struts2-045漏洞 估计还没时间接触Linux提权.... 正文. st2 ...

  9. hdu 4276 树形dp

    题意:给你n个点,n-1条边构成树,每条边有边权(表示走每条边的时间),每个点有点权,问在时间T从点1走到点n,能够得到最多的点权有多少. 题目链接:点我 由于是树,最优的结果一定经过最短路,其他边要 ...

  10. 求n的阶乘 (python实现)

    描述 给定一个数n,范围为0≤n≤100,请你编程精确的求出n的阶乘n!. 输入 输入数据有多行,每行一个整数n,当n<0时输入结束. 输出 输出n的阶乘. 样例输入 1234-1 样例输出 1 ...