ICEを使用した、アクティブディレクトリスキーマのNovell eDirectoryへの移行

ICEを使用して、スキーマをアクティブディレクトリ*からNovell eDirectoryに移行すると、あいまいなネーミングエラー(-651)というエラーメッセージが表示され、スキーマの"Computer"オブジェクトクラスへの移行が失敗します。

これを解決するには、次の手順を実行します。

手順1:スキーマキャッシュの更新操作を実行する
手順2:エラーを解決するためにエラーLDIFファイルを訂正する
手順3:LDIFファイルのインポート


手順1:スキーマキャッシュの更新操作を実行する

ICEを使用して、スキーマをアクティブディレクトリからNovell eDirectoryへ移行し、次のようにICEのエラーログオプション(-e)が提供されていることを確認します。

ice -e error_file -S ldap -s Active_Directory_server -p Active_Directory_port -d Active_Directory_full_admin_context -w Active_Directory_password -D ldap -s eDirectory_server -p eDirectory_port -d eDirectory_full_admin_context -w eDirectory_password

例:

ice -e err.ldf -S ldap -s activesrv1 -p activeport1 -d cn=admin,o=company -w activepwd -D ldap -s edirsrv2 -p edirport2 -d cn=admin,o=company -w edirpwd


手順2:エラーを解決するためにエラーLDIFファイルを訂正する

失敗したエントリは次のようにerr.ldfファイルに記述されています。

dn:cn=schema
changetype:modify
delete:objectclasses
objectclasses :( 2.16.840.1.113719.1.1.6.1.4 NAME 'computer' )
-
add:objectclasses
objectclasses :( 2.16.840.1.113719.1.1.6.1.4 NAME 'computer' SUP (device $ 
user ) STRUCTURAL MAY (operator $ server $ status $ cn $ networkAddress $
local PolicyFlags $ defaultLocalPolicyObject $ machineRole $ location $
netbootInitialization $ netbootGUID $ netbootMachineFilePath $ siteGUID $
operatingSystem $ operatingSystemVersion $ operatingSystemServicePack $
operatingSystemHotfix $ volumeCount $ physicalLocationObject $ dNSHostName
$ policyReplicationFlags $ managedBy $ rIDSetReferences $ catalogs $
netbootSIFFile $ netboot MirrorDataFile ) X-NDS_NOT_CONTAINER '1' X
-NDS_NONREMOVABLE '1' X-NDS_NAME 'Computer' )
-

次の例で強調表示されている部分のように、エラーファイル(例ではerr.ldf)でこのエントリを編集して、"Computer"オブジェクトクラスの定義にあるスーペリアオブジェクトクラスのリストから"user"オブジェクトクラスを削除します。

dn:cn=schema
changetype:modify
delete:objectclasses
objectclasses :( 2.16.840.1.113719.1.1.6.1.4 NAME 'computer' )
-
add:objectclasses
objectclasses :( 2.16.840.1.113719.1.1.6.1.4 NAME 'computer' SUP device 
STRUCTURAL MAY (operator $ server $ status $ cn $ networkAddress $ local
PolicyFlags $ defaultLocalPolicyObject $ machineRole $ location $
netbootInitialization $ netbootGUID $ netbootMachineFilePath $ siteGUID $
operatingSystem $ operatingSystemVersion $ operatingSystemServicePack $
operatingSystemHotfix $ volumeCount $ physicalLocationObject $ dNSHostName
$ policyReplicationFlags $ managedBy $ rIDSetReferences $ catalogs $
netbootSIFFile $ netbootMirrorDataFile ) X-NDS_NOT_CONTAINER '1' X
-NDS_NONREMOVABLE '1' X-NDS_NAME 'Computer' )
-


手順3:LDIFファイルのインポート

次のICEコマンドを使用して、変更されたエントリをインポートします。

ice -S ldif -f LDIF_file -D ldap -s Novell_eDirectory_server -p port_number -d full_admin_context -w password

例:

ice -S ldif -f err.ldf -D ldap -s edirsrv1 -p edirport1 -d cn=admin,o=company -w pwd1