Question Erreur lors de la promotion du serveur 2012 R2 en contrôleur de domaine sur le domaine 2003


Lors de la tentative de promotion d'une machine R2 2012 en tant que contrôleur de domaine sur un domaine de niveau forêt \ domaine 2003, j'obtiens le message d'erreur suivant lorsqu'elle passe par ses procédures adprep et forestprep:

L'exécution d'ADPrep a échoué -> System.ComponentModel.Win32Exception   (0x80004005): Un périphérique connecté au système ne fonctionne pas.   Consultez les fichiers journaux dans C: \ Windows \ debug \ adprep \ logs \ 20160128201714.   répertoire pour des informations détaillées.

Le journal ADPrep affiche l'erreur suivante:

[2016/01/28: 20: 17: 14.402] La ligne de commande transmise à ldifde est 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]   ERREUR: Echec de l'importation du fichier C: \ Windows \ system32 \ adprep \ sch32.ldf.   Le fichier d'erreur est enregistré dans   C: \ Windows \ debug \ adprep \ logs \ 20160128201714 \ ldif.err.32.

Si l'erreur est "Droits insuffisants" (code d'erreur Ldap 50), veuillez   assurez-vous que l'utilisateur spécifié a le droit de lire / écrire des objets dans le   Conteneurs de schéma et de configuration, ou se déconnecter et se connecter en tant qu'utilisateur   avec ces droits et réexécutez forestprep. Dans la plupart des cas, être membre   d’administrateurs de schéma et d’administrateurs d’entreprise est suffisant pour exécuter   forestprep. [2016/01/28: 20: 17: 33.393] Adprep n'a pas pu mettre à niveau le   schéma sur le maître de schéma.

[Statut / Conséquence]

Le schéma ne sera pas restauré dans son état d'origine.

[Action de l'utilisateur]

Consultez le fichier journal Ldif.err dans le   Répertoire C: \ Windows \ debug \ adprep \ logs \ 20160128201714 pour des informations détaillées   information. [2016/01/28: 20: 17: 33.393] Adprep n'a pas pu mettre à jour   informations forestières.

[Statut / Conséquence]

Adprep nécessite l’accès aux informations existantes de la forêt sur l’ensemble de la forêt.   schéma maître afin de terminer cette opération.

Le journal ldiff.err.32 indique

15: CN = utilisateur, CN = schéma, CN = configuration, contrôleur de domaine = AD, contrôleur de domaine = mydomain, contrôleur de domaine = entrée com   DN: CN = utilisateur, CN = schéma, CN = configuration, contrôleur de domaine = AD, contrôleur de domaine = mydomain, contrôleur de domaine = com Ajouter   erreur à l'entrée à partir de la ligne 232: refus de l'exécution

L'erreur côté serveur est la suivante: 0x20c5 La mise à jour du schéma a échoué: la classe dans   La liste aux-class n'existe pas ou n'est pas une classe auxiliaire.

L'erreur de serveur étendu est:

000020C5: SvcErr: DSID-03260249, problème 5003 (WILL_NOT_PERFORM), données   8389

La ligne 232 de sch32.ldf est la suivante

dn: CN = utilisateur, CN = schéma, CN = configuration, contrôleur de domaine = changement de type X:   ntdsSchemaModify add: systemMayContain systemMayContain:   1.2.840.113556.1.4.1929

Il semble donc qu’il essaie de modifier le schéma de l’utilisateur et échoue. J'ai vérifié que mon compte d'utilisateur est dans les groupes d'administrateurs Schema \ Domain \ Enterprise. J'ai également vérifié que ces groupes avaient un accès en écriture au conteneur de schéma à l'aide de adsiedit. Le coup le plus proche que j'ai pu trouver était celui-là. Si le MV MV Ned Pyle a indiqué dans des commentaires, cela aurait pu être causé par un outil tiers prolongeant l'extension de l'attribut précédemment. En recommandant l'utilisateur, contactez le support technique Microsoft. Mon hypothèse est que Microsoft ne prend plus en charge Windows 2003, de sorte que ce chemin pourrait ne pas aller très loin. Est-ce que quelqu'un a déjà vu ça? Merci pour toute aide.


7
2018-01-29 03:39


origine


Une raison pour laquelle le niveau fonctionnel est encore à 2003? Cela ne vous posera probablement pas de problèmes de prise en charge par MS, mais de nouvelles fonctionnalités sont disponibles dans les nouveaux niveaux fonctionnels. - HopelessN00b


Réponses:


Vous serez peut-être surpris de la réponse du support technique de Microsoft, car ce problème ne semble pas être lié à la prise en charge de Server 2003, mais plutôt à un obstacle qui vous empêche de migrer vers 2012 R2. Au moins, vous devriez le tourner de cette façon.

Je suis également presque sûr que cela est dû à la personnalisation du schéma. Il s'agit généralement d'un logiciel tiers, mais il peut parfois s'agir d'une installation Exchange bâclée. Vous pouvez probablement redonner forme à votre schéma afin de pouvoir le mettre à niveau, mais sachez que cela risquerait de casser le logiciel qui avait initialement modifié le schéma.

Ce qui suit est fourni sans garantie et sans garantie. Essayez ceci à vos risques et périls. Essayez dans un laboratoire d'abord si possible. La bonne chose à faire serait d'appeler Microsoft et de voir s'ils vous aideraient avant de tenter cela vous-même.

Videz la définition de la classe User du schéma:

ldifde -d "CN=User,CN=Schema,CN=Configuration,DC=contoso,DC=com" -f user.txt

Cherchez dans le fichier auxiliaryClass des champs. Vous verrez probablement shadowAccount, posixAccountet peut-être quelques autres.

Videz également leurs définitions de schéma pour chacune de ces classes auxiliaires, de la même manière que vous venez de vider la définition de la classe User.

Dans chacune de ces définitions de classe auxiliaire, inspectez leur objectClassCategory propriété. Est-ce 1? Si tel est le cas, remplacez-le par 3. Modifiez-le en 3.

objectClassCategory est documenté ici:

https://msdn.microsoft.com/en-us/library/ms679014(v=vs.85).aspx

4 octets. Structure 1, résumé 2, auxiliaire 3. La classe 88, 0 ne doit pas être utilisée.

Une classe auxiliaire doit avoir une valeur de 3. Si une classe auxiliaire a une valeur de 1, alors une personne s'est trompée en modifiant le schéma. Remplacez-le par 3 et laissez AD répliquer le schéma, puis essayez le adprep encore.

Le message d'erreur que vous avez posté:

L'erreur côté serveur est la suivante: 0x20c5 La mise à jour du schéma a échoué: la classe dans la liste de la classe auxiliaire n'existe pas ou n'est pas une classe auxiliaire.

Cela a beaucoup plus de sens maintenant dans le contexte de ce que j'ai décrit ci-dessus.


10
2018-01-29 14:35



Sensationnel. Vous frappez le clou sur la tête! Il y avait deux classes auxiliaires avec ObjectClassCategory = 1. auxiliClass: shadowAccount et auxiliClass: posixAccount. Modification de la catégorie objectclass en 3, et adprep s’est parfaitement déroulé à cette époque. M'a sauvé le support technique de MS chargé ces jours-ci et un nombre d'heures au téléphone avec eux. Je vous remercie! - floyd