AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 887596
Accepted
David Rogers
David Rogers
Asked: 2017-12-12 13:51:49 +0800 CST2017-12-12 13:51:49 +0800 CST 2017-12-12 13:51:49 +0800 CST

Microsoft AD 服务器迁移 - 两台服务器关闭一台(避免服务器降级)

  • 772

我有两台服务器,一台旧的 AD 服务器(服务器 A)和一台全新的服务器(服务器 B)。我正在尝试从旧迁移到新,因此我按照这些说明设置了我的第二台服务器,并将第二台服务器添加为同一域中的域控制器。

因此,服务器领域的一切都很棒,两台服务器都在旧域上,并且都配置为域控制器。现在我想关闭服务器 A(最终将被停用,但我想暂时保留它作为备份)。所以我在服务器 B 上禁用AD 复制并调整 DNS 设置,使服务器 B 不再指向服务器 A:

服务器 B DNS 配置

然后我关闭了服务器 A。突然(在服务器 B 上)我无法通过“Active Directory 用户和计算机”或“Active Directory 管理中心”访问 AD 的配置。我得到了各种推导:

有趣的错误

找不到命名信息,因为:RPC 服务器不可用

有趣的错误

无法连接到任何域。连接可用时刷新或重试。

有趣的错误

无法联系以下域控制器:127.0.0.1。指定的域不存在或无法联系。

所以它似乎工作(我可以使用域凭据登录,使用 AD 的第三方应用程序似乎工作),但我无法访问任何东西。我在这里遗漏了什么吗,我不明白为什么服务器 B 不只是将自己检测为新的 AD 服务器。我以为不再有神奇的“主”AD 服务器。互联网上的大多数人都建议降级旧的 AD 服务器,但在这种情况下我宁愿不这样做。是否可以在不降级旧服务器的情况下完成 AD 迁移?

更新 1

在按照@KatherineVillyard 的建议更新 FSMO 角色后,我得到了大部分相同的错误,但是在“Active Directory 管理中心”中,我得到了一个有趣的新错误,当您选择“更改域控制器”时,我得到:

在此处输入图像描述

在 DEV 域中找不到运行 Active Directory Web 服务 (ADWS) 的可用服务器。

当我检查时这很有趣,我确信该服务正在我的新盒子上运行。我想知道这个问题是否与 DNS 相关。我已经尝试重新调整网络设置并重新启动服务器。经常遇到这些类型的问题,我似乎只是把东西扔在墙上,看看有什么粘着:(

更新 2

我已经尝试了很多事情,但是似乎我可以通过关闭服务器 A 来重现该问题,只需禁用服务器 A 上的 NetLogin 服务即可。一旦服务器 A 上的此服务停止响应,您将无法再访问该域(类似类型的错误)通过任一服务器上的任何管理单元控件。

当您在服务器 B 上运行以下命令时,我还注意到一些有趣的事情:

nltest /DSGetDC:MYDOMAINHERE

您会得到以下信息(假设两台服务器上都在运行 netlogin):

DC: \\(SERVER A)
地址: \\(SERVER A IP ADDRESS)
Dom Guid: XXXX
Dom Name: (MYDOMAINHERE)
Forest Name: (MYDOMAINHERE)
DC 站点名称:Default-First-Site-Name
我们的站点名称:默认-First-Site-Name...

我在新服务器(B)上注意到的另一件事是,如果您运行(“dcdiag /test:advertising”),您会收到以下消息(旧服务器(A)上没有问题):

测试服务器:Default-First-Site-Name\(Server B)
开始测试:广告
警告:当我们试图到达 (Server B) 时,DsGetDcName 返回了 \\(Server A).(MYDOMAINHERE) 的信息。
服务器没有响应或被认为不合适。
.........................(服务器 B)测试广告失败

这确实让我觉得新服务器(B)上的某种 DNS 配置存在问题,但我已经删除了服务器 B 的DNS 管理器中对服务器 A 的每一个引用,并重新启动了服务器。这整个事情有点像一个黑匣子,“DSGetDC”从哪里提取这些信息?“ (DNS)服务器”,应该是服务器B,它不应该对服务器A有任何引用,显然我在这里遗漏了一些东西:(

domain-name-system
  • 2 2 个回答
  • 1026 Views

2 个回答

  • Voted
  1. Katherine Villyard
    2017-12-12T14:53:21+08:002017-12-12T14:53:21+08:00

    没有“神奇的主 AD 服务器”,但有FSMO 角色。根据您提供的信息,我相当确定服务器 A 拥有一个或所有 FSMO 角色。

    您可能希望恢复服务器 A,将所有 FSMO 角色优雅地转移到服务器 B,然后将其恢复。 本文将告诉您如何使用 PowerShell 执行此操作。在链接失效的情况下,这里是主要要点:

    查找当前大师:

    Get-ADForest example.com| ft DomainNamingMaster, SchemaMaster
    Get-ADDomain example.com | ft InfrastructureMaster, PDCEmulator, RIDMaster
    

    加载 Active Directory PowerShell 模块:

    Import-Module ActiveDirectory
    

    您可以根据名称或角色编号移动角色。

    Move-ADDirectoryServerOperationMasterRole "Server B" –OperationMasterRole 0,1,2,3,4
    

    或者

    Move-ADDirectoryServerOperationMasterRole "Server B" –OperationMasterRole PDCEmulator,RIDMaster,InfrastructureMaster,SchemaMaster,DomainNamingMaster
    

    如果失败,请在末尾添加 -force,如

    Move-ADDirectoryServerOperationMasterRole “dc2” –OperationMasterRole 0,1,2,3,4 -force
    

    如果您愿意,也可以使用 GUI 。

    • 6
  2. Best Answer
    David Rogers
    2017-12-14T15:38:54+08:002017-12-14T15:38:54+08:00

    我放弃 :(

    我把它交给了一位同事来弄清楚,我们最终发现这个问题与“DFSR SYSVOL 复制”有关。我们将新服务器 (B) 降级并重新升级,以尝试清除任何无效配置。然后我们按照下面的帖子详细介绍了该问题的解决方案。事实证明,在运行场景 1 和 2 中的步骤后,注册表项“SysvolReady”在新服务器 (B) 上设置为零。

    (如果链接失效)

    要解决此问题,请按所述顺序执行以下所有步骤,并在以域管理员身份运行时使用提升的 CMD 提示符:

    场景一:

    1. 通过在 PDCE 上运行来确定哪个安全组策略将此设置应用于 DC:

      GPRESULT.EXE /H secpol.htm

    2. 在网络浏览器中打开 secpol.htm,然后单击“显示全部”。搜索条目“管理审计和安全日志”。它将列出应用此设置的组策略。

    3. 使用 GPMC.MSC,编辑该组策略以包括“管理员”组。

    4. 允许 AD 和 SYSVOL 复制在所有 DC 上聚合。在 PDCE 上,运行:

      GP更新/强制

    5. 注销 PDCE 并重新登录,以便使用用户权限分配更新您的安全令牌。

    6. 跑:

      DFSRMIG.EXE /CREATEGLOBALOBJECTS

    7. 允许 AD 和 SYSVOL 复制在所有 DC 上聚合。在 PDCE 上,运行:

      DFSRDIAG.EXE POLLAD

      DFSRMIG.EXE /GETMIGRATIONSTATE

    8. 验证部分或所有 DC 是否已达到“已准备”状态并准备好重定向。此时,您可以正常进行迁移。请参阅迁移最佳实践下方的更多信息部分。

    场景二:

    1. 通过在 PDCE 上运行来确定哪个安全组策略将此设置应用于 DC:

      GPRESULT.EXE /H secpol.htm

    2. 在网络浏览器中打开 secpol.htm,然后单击“显示全部”。搜索条目“管理审计和安全日志”。它将列出应用此设置的组策略。

    3. 使用 GPMC.MSC,编辑该组策略以包括“管理员”组。

    4. 允许 AD 和 SYSVOL 复制在所有 DC 上聚合。在受影响的 DC 上,运行:

      GP更新/强制

    5. 重新启动该 DC 上的 DFSR 服务。

    6. 验证 DC 现在共享 SYSVOL 和 NETLOGON,并复制 SYSVOL 入站。

    “沃伦笔记 2013 年 5 月 3 日”

    1. 手动共享 sysvol - 编辑此注册表值 - 键 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Netlogon\parameters
      值 SysvolReady = 1

      运行 net share 以确保 sysvol 已共享。

    2. 打开策略并将用户或组添加到“管理审计和安全日志”用户权限。

    3. 运行 gpupdate 强制。

    我们认为无法复制和 netlogin 状态注册表项是问题的症结所在,但我们尝试了许多其他更小的事情,这些也可能是解决问题的一个因素。但是,希望这篇文章将来对某人有所帮助。

    • 1

相关问题

  • Solaris DNS

  • resolv.conf 在经过一段时间后被更改

  • 为什么有些网站的网址中没有“www”就无法显示?[关闭]

  • 为本地网络中的名称解析添加自定义 dns 条目

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve