はじめに
ご覧いただき、ありがとうございます。
CSVDE コマンドは Active Directory のユーザーやグループといったデータを、エクスポート・インポートできるものであり、AD 間のデータの移行に利用できます。
AWS のブログに記載されているとおり、AWS マネージドサービス型の AD である AWS Managed Microsoft AD においても CSVDE コマンドは利用できます。
上記の記事はユーザーの移行方法のみが紹介されていますが、そのほかのオブジェクトも可能であるため
本記事では、ユーザーに加えて、グループの移行もやってみます。
目次
前提
Active Directory ツールがインストールされていない場合は、以下のコマンドでインストールします。
> Install-WindowsFeature RSAT-ADDS-Tools
ユーザーを移行する
以下のセルフマネージド AD に存在するユーザー Hoge
を移行してみます。
ユーザーをエクスポートする
下記のコマンドでユーザーをエクスポートします。
> csvde -f users.csv -l "DN, objectclass, objectcategory, givenName, sn, name, samAccountName, displayname" -r "(&(objectClass=user)(objectCategory=person))"
例
C:\Users\Administrator>csvde -f users.csv -l "DN, objectclass, objectcategory, givenName, sn, name, samAccountName, displayname" -r "(&(objectClass=user)(objectCategory=person))" "(null)" に接続しています SSPI を使って現在のユーザーとしてログインしています ディレクトリをファイル users.csv にエクスポートしています エントリを検索しています... エントリを書き出しています .... エクスポートが完了しました。後処理を実行しています... 4 個のエントリがエクスポートされました コマンドが正しく完了しました
エクスポートされた CSV ファイルを編集する
全てのユーザーをエクスポートしたため、エクスポートされた CSV ファイルには、AD のデフォルトユーザーも含まれています。
デフォルトユーザーも移行すると重複してしまうため、CSV ファイルから削除します。
デフォルトユーザー削除前
DN,objectClass,name,sAMAccountName,objectCategory,displayName > "CN=Administrator,CN=Users,DC=self-managed,DC=corp,DC=contoso,DC=com",user,Administrator,Administrator,"CN=Person,CN=Schema,CN=Configuration,DC=self-managed,DC=corp,DC=contoso,DC=com", > "CN=Guest,CN=Users,DC=self-managed,DC=corp,DC=contoso,DC=com",user,Guest,Guest,"CN=Person,CN=Schema,CN=Configuration,DC=self-managed,DC=corp,DC=contoso,DC=com", > "CN=krbtgt,CN=Users,DC=self-managed,DC=corp,DC=contoso,DC=com",user,krbtgt,krbtgt,"CN=Person,CN=Schema,CN=Configuration,DC=self-managed,DC=corp,DC=contoso,DC=com", "CN=Hoge,CN=Users,DC=self-managed,DC=corp,DC=contoso,DC=com",user,Hoge,Hoge,"CN=Person,CN=Schema,CN=Configuration,DC=self-managed,DC=corp,DC=contoso,DC=com",Hoge
デフォルトユーザー削除後
DN,objectClass,name,sAMAccountName,objectCategory,displayName "CN=Hoge,CN=Users,DC=self-managed,DC=corp,DC=contoso,DC=com",user,Hoge,Hoge,"CN=Person,CN=Schema,CN=Configuration,DC=self-managed,DC=corp,DC=contoso,DC=com",Hoge
さらに、移行前後で CN や OU、DC などに変更がある場合は、修正する必要があります。
今回は以下のように変更があります。
ドメイン | OU・CN | |
---|---|---|
移行前 | self-managed.corp.contoso.com | Users |
移行後 | managed.corp.example.com | managed/Users |
修正前
DN,objectClass,name,sAMAccountName,objectCategory,displayName "CN=Hoge,CN=Users,DC=self-managed,DC=corp,DC=contoso,DC=com",user,Hoge,Hoge,"CN=Person,CN=Schema,CN=Configuration,DC=self-managed,DC=corp,DC=contoso,DC=com",Hoge ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
修正後
DN,objectClass,name,sAMAccountName,objectCategory,displayName "CN=Hoge,OU=Users,OU=managed,DC=managed,DC=corp,DC=example,DC=com",user,Hoge,Hoge,"CN=Person,CN=Schema,CN=Configuration,DC=managed,DC=corp,DC=example,DC=com",Hoge ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ユーザーをインポートする
最後に、AWS Managed Microsoft AD のドメインに参加しているコンピュータへ接続し
以下のコマンドでユーザーをインポートします。
> csvde –i –f users.csv
例
コマンド実行前
コマンド実行
C:\Users\Admin>csvde -i -f users.csv "IP-C613029C.managed.corp.example.com" に接続しています SSPI を使って現在のユーザーとしてログインしています ファイル "users.csv" からディレクトリをインポートしています エントリを読み込んでいます.. 1 個のエントリを正しく修正しました。 コマンドが正しく完了しました
コマンド実行後
グループを移行する
次はグループ(Test Group
)を移行してみます。
ユーザーを移行する際と必要な属性が異なるため、コマンドが変わっていますが、作業の流れは同じです。
グループをエクスポートする
下記のコマンドでグループをエクスポートします。
> csvde -u -f group.csv -l "member, objectclass" -d "CN=${グループ名},DC=${ドメイン名}" -r "(&(objectClass=group)(objectCategory=group))"
例
C:\Users\Administrator>csvde -u -f group.csv -l "member, objectclass" -d "CN=Test Group,DC=self-managed,DC=corp,DC=contoso,DC=com" -r "(&(objectClass=group)(objectCategory=group))" "(null)" に接続しています SSPI を使って現在のユーザーとしてログインしています ディレクトリをファイル group.csv にエクスポートしています エントリを検索しています... エントリを書き出しています . エクスポートが完了しました。後処理を実行しています... 1 個のエントリがエクスポートされました コマンドが正しく完了しました
エクスポートされた CSV ファイルを編集する
ユーザーの際と同様に、OU や DC などに変更がある場合は、修正する必要があります。
修正前
DN,objectClass,member "CN=Test Group,DC=self-managed,DC=corp,DC=contoso,DC=com",group,"CN=Hoge,CN=Users,DC=self-managed,DC=corp,DC=contoso,DC=com" ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
修正後
DN,objectClass,member "CN=Test Group,OU=managed,DC=managed,DC=corp,DC=example,DC=com",group,"CN=Hoge,OU=Users,OU=managed,DC=managed,DC=corp,DC=example,DC=com" ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
グループをインポートする
最後に、AWS Managed Microsoft AD のドメインに参加しているコンピュータへ接続し
以下のコマンドでグループをインポートします。
> csvde –i –f group.csv
例
コマンド実行前
コマンド実行
C:\Users\Admin>csvde -i -f group.csv "IP-C6130142.managed.corp.example.com" に接続しています SSPI を使って現在のユーザーとしてログインしています ファイル "group.csv" からディレクトリをインポートしています エントリを読み込んでいます.. 1 個のエントリを正しく修正しました。 コマンドが正しく完了しました
コマンド実行後
終わりに
本記事で実施したユーザーとグループは問題なく移行できましたが
AWS Managed Microsoft AD はマネージドサービスであり、一部の機能が制限されているため
そのほかのオブジェクトの移行を考える場合は、まずは試してみたほうが安全と思います。
最後までご覧いただき、ありがとうございました。