Active Directoryのユーザを一括で部署異動したい

キーワード:Active Directory,グループ,一括
シナリオ一覧に戻る

概要

Active Directoryグループ内のユーザの所属グループを一括で変更したい場合、Active Directoryアダプタのグループ所属メンバ登録/更新/削除処理を使用します。

サンプルプロジェクトの説明

CSVファイル「異動情報一覧」にしたがってActive Directoryに一括変更を行います。
「異動情報一覧」のアカウント名について、異動前のグループから削除を行ったあと、異動後のグループに追加を行います。

実行イメージ

処理実行前
組織名
RLR_081_1
グループ名 アカウント名
開発第一グループ rlr_taro_suzuki
rlr_hanako_yamada
処理実行後
組織名
RLR_081_1
グループ名 アカウント名
開発第二グループ rlr_taro_suzuki
組織名
RLR_081_2
グループ名 アカウント名
営業一課 rlr_hanako_yamada

処理の流れ

サンプルプロジェクトの処理の流れは以下の通りです。
  1. CSVファイル読み取り処理」で「異動情報一覧」を読み取ります。
  2. 繰り返し(データ件数)処理」で入力データの件数分、以下の処理を繰り返します。
    1. 変数代入処理」で、Active Directoryのユーザ識別名を作成し、異動情報をスクリプト変数に代入します。
    2. グループ所属メンバ登録/更新/削除処理」でユーザを異動前のグループから削除します。
    3. グループ所属メンバ登録/更新/削除処理」でユーザを異動後のグループに追加します。
処理を実行すると、指定したActive Directoryのユーザの所属グループが変更されます。

ポイントとなる機能

名前 説明 ツールパレット上の場所
グループ所属メンバ登録/更新/削除処理 入力データをもとに、指定したグループの所属メンバを登録/更新/削除します。 「ディレクトリサービス」-「Active Directory」-「グループ所属メンバ登録/更新/削除」

処理のポイント

グループ所属メンバ登録/更新/削除処理に設定する識別名は、Active Directoryから取得できる識別名(distinguishedName)を指定してください。 識別名は、接続先Active Directory環境に合わせて変更してください。
識別名の詳細については、Active Directoryのドキュメントを参照してください。

サンプルプロジェクトの使用方法

上記処理を実装したサンプルプロジェクトを用意しています。サンプルプロジェクトを使用する場合の手順は、以下の通りです。

サンプルプロジェクトファイル名 rl_reference_081.zip
  1. サンプルプロジェクトの展開
    サンプルプロジェクトファイル「rl_reference_081.zip」を展開します。

  2. プロジェクトのアップロード
    「rl_reference_081.zip」を展開後に作成される「rl_reference_081プロジェクト」ディレクトリがプロジェクトファイルとなります。
    DataSpider Studioを起動し、マイプロジェクトの画面から[ファイル]-[ローカルからアップロード]で展開したディレクトリ「rl_reference_081プロジェクト」をアップロードしてください。

  3. サンプルデータの準備
    「rl_reference_081.zip」を展開後に作成される「samples」ディレクトリがサンプルデータとなります。
    $DATASPIDER_HOME/server/samplesディレクトリに上書きしてください。

  4. グローバルリソースの設定
    コントロールパネルの[グローバルリソースの設定]から、[新しいグローバルリソースの追加]を選択し、Active Directoryのグローバルリソースを追加します。
    グローバルリソースの設定方法については、「グローバルリソースのプロパティ」を参照してください。

スクリプトの作成手順

プロセスフローおよびデータフローは、「サンプルプロジェクトの説明」のスクリプト画像を参照して適宜設定してください。
  1. グループ所属メンバ登録/更新/削除処理の処理対象として使用するスクリプト変数を作成します。

  2. デザイナのツールパレット「ファイル」-「CSV」-「CSVファイル読み取り」から、CSVファイル読み取り処理をスクリプトキャンバスに配置します。

  3. デザイナのツールパレット「基本」-「フロー」-「繰り返し(データ件数)」から、繰り返し(データ件数)処理をスクリプトキャンバスに配置します。

  4. デザイナのツールパレット「基本」-「処理」-「変数代入」から、変数代入処理をスクリプトキャンバスに配置します。

  5. 変数代入処理のMapperエディタを開き、Active Directoryのユーザ識別名を作成し、異動情報をスクリプト変数に代入します。

  6. デザイナのツールパレット「変換」-「基本」-「マッピング」から、マッピング処理(「mapping」)をスクリプトキャンバスに配置します。

  7. デザイナのツールパレット「ディレクトリサービス」-「Active Directory」-「グループ所属メンバ登録/更新/削除」から、グループ所属メンバ登録/更新/削除処理をスクリプトキャンバスに配置します。

  8. マッピング処理(「mapping」)のMapperエディタを開き、ユーザ識別名をグループ所属メンバ登録/更新/削除処理の入力スキーマにマッピングする処理を作成します。

  9. デザイナのツールパレット「変換」-「基本」-「マッピング」から、マッピング処理(「mapping(1)」)をスクリプトキャンバスに配置します。

  10. デザイナのツールパレット「ディレクトリサービス」-「Active Directory」-「グループ所属メンバ登録/更新/削除」から、グループ所属メンバ登録/更新/削除処理をスクリプトキャンバスに配置します。

  11. マッピング処理(「mapping(1)」)のMapperエディタを開き、ユーザ識別名をグループ所属メンバ登録/更新/削除処理の入力スキーマにマッピングする処理を作成します。

  12. スクリプトを実行し、正常終了すれば成功です。