web-dev-qa-db-ja.com

2003ドメインのドメインコントローラーへの2012R2サーバーの昇格中にエラーが発生しました

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を再実行してください。ほとんどの場合、Schema AdminsとEnterprise Adminsの両方のメンバーであるだけで、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スキーマの更新に失敗しました:aux-classリスト内のクラスが存在しないか、補助クラスではありません。

拡張サーバーエラーは次のとおりです。

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がコメントで示した場合、それはサードパーティのツールが以前に属性を誤って拡張したことが原因である可能性があります。ユーザーにMicrosoftサポートに連絡することをお勧めします。私の推測では、MicrosoftはもはやWindows 2003をサポートしていないため、道が遠くまで進んでいない可能性があります。誰かがこれを見たことがありますか?助けてくれてありがとう。

7
floyd

この問題は、2012 R2への移行を妨げる障害に関するものであるため、Server 2003のサポートに関する問題ではないように思われるため、Microsoftサポートからの応答に驚かれるかもしれません。少なくとも、そのように回転させる必要があります。

また、これはスキーマのカスタマイズによるものであるとほぼ確信しています。通常はサードパーティのソフトウェアによるものですが、Exchangeのインストールが失敗したような場合もあります。スキーマを元の形に曲げてアップグレードできるようにすることもできますが、そうすると、最初にスキーマを変更したソフトウェアが破損する可能性があることに注意してください。

以下は、保証なしで提供されます。ご自身の責任でこれを試してください。可能であれば、最初にラボで試してください。正しいことは、Microsoftに電話して、自分でこれを試みる前に、Microsoftがあなたを助けるかどうかを確認することです。

スキーマからユーザークラス定義をダンプします。

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

ファイルでauxiliaryClassフィールドを探します。おそらくshadowAccountposixAccount、およびおそらく他のいくつかが表示されます。

これらの補助クラスのそれぞれについて、ユーザークラス定義をダンプしたのと同じ方法で、それらのスキーマ定義もダンプします。

これらの補助クラス定義のそれぞれで、それらの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スキーマの更新に失敗しました:aux-classリスト内のクラスが存在しないか、補助クラスではありません。

上で概説したこととの関連で、今でははるかに理にかなっています。

10
Ryan Ries