从 Windows 2003 SBS 升级到 2012 Standard 后缺少 SYSVOL 和 NETLOGON

从 Windows 2003 SBS 升级到 2012 Standard 后缺少 SYSVOL 和 NETLOGON

今天我们从 Windows 2003 SBS 升级到 Windows Server 2012 Standard。我做了以下事情:

  1. 将 2012 服务器加入到 SBS 2003 域
  2. 在服务器上安装了 Active Directory 域服务(又名 dcpromo)
  3. fsmo maintenance在以下时间内将所有角色转移到新服务器ntdsutil
  4. 然后我删除了旧的 Windows Server 2003 SBS 服务器

一切似乎都运行正常,直到我看到由于缺少组策略文件夹而导致组策略无法应用的错误 - 仔细检查后,我发现没有 SYSVOL 或 NETLOGON 文件夹!

然后,我在新的 2012 服务器上使用 D4 标志运行了权威 FRS 还原过程(此时,2003 SBS 已被删除):

  1. 在命令框中,键入 net stop ntfrs。
  2. 在注册表中找到以下子项:HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\NtFrs\Parameters\Backup/Restore\Process at Startup
  3. 在右侧窗格中,双击 BurFlags。
  4. 在“编辑 DWORD 值”对话框中,键入 D4,然后单击“确定”。
  5. 跑步net start ntfrs

我在 Windows 资源管理器中检查了 \fkdxbsvr1\,现在可以看到 SYSVOL 共享,但仍然没有 NETLOGON 共享。

我看到有关 sysvol 共享中丢失文件的以下事件日志错误:

Log Name:      System
Source:        NETLOGON
Date:          27/03/2013 18:40:41
Event ID:      5706
Task Category: None
Level:         Error
Keywords:      Classic
User:          N/A
Computer:      FKDXBSVR1.mydom.local
Description:
The Netlogon service could not create server share C:\Windows\SYSVOL\sysvol\mydom.local\SCRIPTS.  The following error occurred: 
The system cannot find the file specified.

因此我创建了名为 scripts 的文件夹C:\Windows\SYSVOL\sysvol\mydom.local\SCRIPTS并重新启动了 netlogon,然后就出现了 NETLOGON 共享。

我的问题如下:

  1. 为什么 netlogon 无法在启动时创建脚本文件夹?我没有读到任何有关手动创建文件夹的 KB,但似乎已经奏效了 - 这是好事还是骗人的?
  2. 我还应该检查什么?我需要确信迁移正常,没有任何其他隐藏错误。
  3. 我在迁移过程中做错了什么才导致上述奇怪的事情发生?

如果需要,请提供其他背景信息

添加脚本文件夹之前的 sysvol 目录列表

dcdiag 转储

答案1

我同意 joeqwerty 的观点,您在 Sysvol 复制完成之前删除了旧 DC。我认为您的用户无法登录到域,因为您没有 Sysvol 共享,因此您没有默认域策略和默认域控制器策略 ({6AC1786C-016F-11D2-945F-00C04fB984F9} 和 {31B2F340-016D-11D2-945F-00C04FB984F9})。我认为您的客户端是使用本地缓存凭据登录的。所以我认为您有两种方法可以解决您的问题。

  1. 恢复旧 DC 并将 Sysvol 复制到新 DC(不要手动复制!)。您可以在新 DC 上将 Bur Flags 设置为 D2,在旧 DC 上将其设置为 D4。在删除旧 DC 之前,请确保 Sysvol 已完全复制。为此,您可以查看 Windows 事件日志 -> 文件复制服务并等待事件 ID 13516:

    描述:文件复制服务不再阻止计算机 DESCARTES 成为域控制器。系统卷已成功初始化,并且 Netlogon 服务已收到通知,系统卷现已准备好作为 SYSVOL 共享。

    输入“net share”来检查 SYSVOL 共享。

    收到此事件后,您可以删除旧的 DC

  2. 在新的 DC 上手动创建 Sysvol -> 您将丢失所有 GPO

有关这两种方式的详细说明,请参阅:http://support.microsoft.com/kb/315457

答案2

从 SBS 2003 升级到 Server 2012 Standard 时,我遇到了这个问题。 sysvol 和 netlogon 文件夹都丢失了。 对我有用的方法是停止两个合作伙伴上的 NTFRS 和 Netlogon 服务,然后转到注册表,如下所示:

在旧服务器上

  1. 点击开始,然后点击跑步
  2. 在打开框中,键入cmd,然后按 ENTER。
  3. 在命令框中,键入net stop ntfrs

  4. 点击开始,然后点击跑步

  5. 在打开框中,键入regedit,然后按 ENTER。
  6. 在注册表中找到以下子项:HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\NtFrs\Parameters\Backup/Restore\Process at Startup

  7. 在右侧窗格中双击旗帜

  8. 在“编辑 DWORD 值”对话框中,键入D4,然后单击“确定”。
  9. 退出注册表编辑器,然后切换到命令框。

  10. 在里面命令框, 类型net start ntfrs

  11. 退出命令框。

在新服务器上

  1. 点击开始,然后点击跑步
  2. 在打开框中,键入cmd,然后按 ENTER。
  3. 在命令框中,键入net stop ntfrs

  4. 点击开始,然后点击跑步

  5. 在打开框中,键入regedit,然后按 ENTER。
  6. 在注册表中找到以下子项: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\NtFrs\Parameters\Backup/Restore\Process at Startup
  7. 在右侧窗格中双击旗帜
  8. 在“编辑 DWORD 值”对话框中,键入D2,然后单击“确定”。
  9. 退出注册表编辑器,然后切换到命令框。

  10. 在里面命令框, 类型net start ntfrs

  11. 退出命令框。

重新启动两台服务器上的服务。

我第一次这样做时没有成功,因为 sysvol\domain 中有一个名为 DO_NOT_REMOVE 的文件夹。我将策略和脚本从该文件夹复制到根目录并删除了该文件夹。之后一切都正常了。

答案3

在 Windows 2012 R2 上,DC2 上的 C:\Windows\SYSVOL\staging\domain..... 内有一个孤立对象,而 DC1 上不存在该对象,导致新加入的干净 DC3 上缺少 \HOST\netlogon 和 \HOST\sysvol 问题。微软,这么小的事情浪费了这么多时间!为什么 DC1 和 DC2 首先没有在 DC2 上指示 SYSVOL 中的任何不一致,并且继续成功复制??然后我会在正确的地方开始故障排除,而不是认为它与新加入的 DC3 有关。此外,我确实指出只从 DC1 复制,而不是任何其他服务器,例如 DC2 的 SYSVOL 损坏,包含孤立文件夹。因此,如果有人遇到上述问题,我会开始交叉引用 SYSVOL 内容并清理其他 DC 上缺少的任何孤立项目。

相关内容