当试图在2003 forest \ domain级别域上将2012 R2计算机升级为域控制器时,在通过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] ERROR :从文件C:\ Windows \ system32 \ adprep \ sch32.ldf导入失败。 错误文件保存在C:\ Windows \ debug \ adprep \ logs \ 20160128201714 \ ldif.err.32中。
- AD重置安全组的用户密码
- 如何在单独的Windows 7计算机上pipe理数百个用户(和自定义configuration文件)?
- 无法在Active Directory中移动OU(访问被拒绝)
- Windows Web服务器应该是Active Directory域的成员
- 使用.bat文件configurationWinRM,无需提示
如果错误是“权限不足”(Ldap错误代码50),请确保指定的用户有权读取/写入架构和configuration容器中的对象,或以具有这些权限的用户身份注销并login,然后重新运行forestprep 。 在大多数情况下,作为架构pipe理员和企业pipe理员的成员足以运行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 =用户,CN =架构,CN =configuration,DC = AD,DC = mydomain,DC = com条目DN:CN =用户,CN =架构,CN =configuration,DC = AD,DC = mydomain,从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
所以它似乎试图修改用户架构和失败。 我已validation我的用户帐户位于Schema \ Domain \ Enterprisepipe理员组中。 我也已经validation了这些组使用adsiedit有写权限的架构容器。 我能find的最接近的是这一个 。 MS MVP Ned Pyle在注释中指出,这可能是由于第三方工具错误地扩展了属性。 推荐用户联系Microsoft支持。 我的猜测是,微软不再支持Windows 2003,所以path可能不会走得太远。 有没有人看过这个? 感谢您的帮助。
您可能会对从Microsoft支持获得的响应感到惊讶,因为这个问题似乎并没有太多的支持Server 2003,因为这是一个阻碍您转移到2012 R2的障碍。 至less,你应该这样旋转。
我也几乎可以肯定,这是由于架构定制。 这通常是由第三方软件,但有时可能是一个拙劣的Exchange安装。 您可以将您的架构折弯成形,以便升级它,但要小心这样做可能会破坏最初进行架构修改的软件。
以下提供不保证和不保证。 尝试这个风险自负。 如果可能,请尝试在实验室中进行。 正确的做法是打电话给微软,看看他们是否会帮你尝试之前,你自己。
从模式转储用户类定义:
ldifde -d "CN=User,CN=Schema,CN=Configuration,DC=contoso,DC=com" -f user.txt
查看文件中的任何auxiliaryClass字段。 你可能会看到shadowAccount , posixAccount ,还有其他一些。
对于这些辅助类中的每一个,也都转储它们的模式定义,就像刚刚转储User类定义一样。
在每个辅助类定义中,检查它们的objectClassCategory属性。 是1吗? 如果是这样,应该是3.更改为3。
这里loggingobjectClassCategory :
https://msdn.microsoft.com/en-us/library/ms679014(v=vs.85).aspx
4个字节。 结构1,摘要2,辅助3.不应使用88,0类。
辅助类的值应为3.如果辅助类的值为1,则在修改架构时有人犯了错误。 将其更改为3并允许AD复制架构,然后再次尝试adprep 。
您发布的错误消息:
服务器端错误是:0x20c5架构更新失败:辅助类列表中的类不存在或不是辅助类。
现在在我上面概述的内容中更有意义。