flo*_*oyd 7 windows-server-2003 active-directory windows-server-2012-r2
当尝试将 2012 R2 机器提升为 2003 林\域级域上的域控制器时,我在执行 adprep 和 forestprep 过程时收到以下错误:
ADPrep 执行失败 --> System.ComponentModel.Win32Exception (0x80004005): 连接到系统的设备没有运行。检查 C:\Windows\debug\adprep\logs\20160128201714 目录中的日志文件以获取详细信息。
ADPrep 日志显示以下错误:
[2016/01/28:20:17:14.402] 传递给 ldifde 的命令行是 ldifde -i -f "C:\Windows\system32\adprep\sch32.ldf" -s "ral-ad1.AD.mydomain. com" -h -j "C:\Windows\debug\adprep\logs\20160128201714" -$ "C:\Windows\system32\adprep\schupgrade.cat" [2016/01/28:20:17:33.382] 错误: 从文件 C:\Windows\system32\adprep\sch32.ldf 导入失败。错误文件保存在 C:\Windows\debug\adprep\logs\20160128201714\ldif.err.32。
如果错误是“权限不足”(Ldap 错误代码 50),请确保指定用户有权读取/写入架构和配置容器中的对象,或者注销并以具有这些权限的用户身份登录并重新运行 Forestprep . 在大多数情况下,同时是架构管理员和企业管理员的成员就足以运行 Forestprep。[2016/01/28:20:17:33.393] Adprep 无法升级架构主机上的架构。
[状态/后果]
架构不会恢复到其原始状态。
[用户操作]
检查 C:\Windows\debug\adprep\logs\20160128201714 目录中的 Ldif.err 日志文件以获取详细信息。[2016/01/28:20:17:33.393] Adprep 无法更新林信息。
[状态/后果]
Adprep 需要从架构主机访问现有的全林信息才能完成此操作。
ldiff.err.32 日志显示
15: CN=User,CN=Schema,CN=Configuration,DC=AD,DC=mydomain,DC=com Entry DN: CN=User,CN=Schema,CN=Configuration,DC=AD,DC=mydomain,DC= com 在第 232 行开始的条目中添加错误:不愿意执行
服务器端错误是:0x20c5 架构更新失败:辅助类列表中的类不存在或不是辅助类。
扩展服务器错误是:
000020C5:SvcErr:DSID-03260249,问题 5003(WILL_NOT_PERFORM),数据 8389
sch32.ldf 的第 232 行如下
dn: CN=User,CN=Schema,CN=Configuration,DC=X changetype: ntdsSchemaModify add: systemMayContain systemMayContain: 1.2.840.113556.1.4.1929
因此,它似乎正在尝试修改用户架构并失败。我已验证我的用户帐户位于 Schema\Domain\Enterprise 管理员组中。我还使用 adsiedit 验证了这些组对架构容器的写访问权限。我能找到的最接近的命中是这个。MS MVP Ned Pyle 在评论中指出,这可能是由 3rd 方工具之前错误地扩展了属性造成的。建议用户联系微软支持。我的猜测是 Microsoft 不再支持 Windows 2003,因此这条路可能走不远。有没有人见过这个?感谢您的帮助。
Rya*_*ies 10
您可能会对从 Microsoft 支持部门获得的响应感到惊讶,因为这个问题似乎与支持 Server 2003 无关,因为它是阻止您迁移到 2012 R2 的障碍。至少,你应该那样旋转。
我也几乎可以肯定这是由于模式定制。它通常是由 3rd 方软件提供的,但有时也可能是一个拙劣的 Exchange 安装。您可能可以将架构弯曲回原来的形状,以便升级它,但请注意,这样做可能会破坏最初进行架构修改的软件。
以下内容不提供任何保证和保证。请自行承担风险尝试此操作。如果可能,首先在实验室中尝试。正确的做法是致电 Microsoft,看看他们是否会在您自己尝试之前帮助您。
从架构中转储 User 类定义:
ldifde -d "CN=User,CN=Schema,CN=Configuration,DC=contoso,DC=com" -f user.txt
Run Code Online (Sandbox Code Playgroud)
在文件中查找任何auxiliaryClass字段。您可能会看到shadowAccount、posixAccount和其他一些。
对于这些辅助类中的每一个,也转储它们的模式定义,就像您刚刚转储 User 类定义一样。
在每个辅助类定义中,检查它们的objectClassCategory属性。是1吗?如果是这样,应该是3。把它改成3。
objectClassCategory 记录在这里:
https://msdn.microsoft.com/en-us/library/ms679014(v=vs.85).aspx
4字节。结构 1,抽象 2,辅助 3。不应使用 88 类,0。
辅助类的值应为 3。如果辅助类的值为 1,则说明有人在修改架构时犯了错误。将其更改为 3 并允许 AD 复制架构,然后重试adprep。
您发布的错误消息:
服务器端错误是:0x20c5 架构更新失败:辅助类列表中的类不存在或不是辅助类。
在我上面概述的上下文中,现在更有意义。
| 归档时间: |
|
| 查看次数: |
1965 次 |
| 最近记录: |