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

Avatar
dstn

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)を指定してください。
  • 例: CN=TEST_USER,OU=Users,DC=ad,DC=local
識別名は、接続先Active Directory環境に合わせて変更してください。
識別名の詳細については、Active Directoryのドキュメントを参照してください。

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

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

サンプルプロジェクトのダウンロード 逆引きリファレンス シナリオ081のサンプルプロジェクト
  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のグローバルリソースを追加します。
    グローバルリソースの設定方法については、DataSpider Servistaヘルプの「グローバルリソースのプロパティ」を参照してください。

スクリプトの作成手順

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

      スクリプト変数のプロパティ

      変数名 変数型 初期値
      ユーザー識別名 文字列型  
      異動前グループ名 文字列型  
      異動前組織名 文字列型  
      異動後グループ名 文字列型  
      異動後組織名 文字列型  

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

      [必須設定]タブ


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

      [必須設定]タブ


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

  5. 変数代入処理のMapperエディタを開き、Active Directoryのユーザ識別名を作成し、異動情報をスクリプト変数に代入します。
    • マッピングキャンバスは、以下のように設定します。

      マッピングキャンバス



      番号 ロジック名 説明 ツールパレット上の場所
      (1) 単一行文字列定数 単一行文字列定数を出力します。
      [必須設定]タブの[一行文字列]には「CN=」と入力します。
      「文字列」-「基本」-「単一行文字列定数」
      (2) 単一行文字列定数 単一行文字列定数を出力します。
      [必須設定]タブの[一行文字列]には「,CN=Users,DC=ad2012-qa,DC=local」と入力します。
      「文字列」-「基本」-「単一行文字列定数」
      (3) 連結 複数の入力文字列を連結して返します。
      [必須設定]タブの[入力数]には「3」と入力します。
      「文字列」-「演算」-「連結」

      処理のポイント
      • Active Directoryのユーザ識別名を作成します。
        識別名の詳細については、Active Directoryのドキュメントを参照してください。

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

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

      [必須設定]タブ



      処理のポイント
      • 入力スキーマのメンバを異動前の組織およびグループから削除するため、[処理方法][差分削除]を選択します。

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

      マッピングキャンバス


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

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

      [必須設定]タブ



      処理のポイント
      • 入力スキーマのメンバを異動後の組織およびグループに追加するため、[処理方法][差分追加]を選択します。

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

      マッピングキャンバス


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

コメント

ログインしてコメントを残してください。

Powered by Zendesk