ADManager Plusを使ってCSVファイルでグループ管理

[前回](https://qiita.com/sophiakunii/items/34f70c51e37b5ca47e09)からADManager Plusを使ってレビューをしていますが、ADManager Plusって100ユーザー未満で利用する場合、**サポートも含めて無償**で提供しているんですよね。なので、無償で使い始める、またはこれから使ってみようとかなと思っているときに、どんなものなのか？って話があるといいかなと思って書いてます。
前回はADManager Plusを使ってActive Directoryドメインの管理、特にCSVファイルベースでユーザーを管理する方法について紹介しました。ですが、CSVファイルベースで管理できるのはユーザーだけでなく、グループ、OU、コンピューターオブジェクトなども対象になります。ということで、ADManager Plusからグループの管理を行ってみます。
###CSVファイルの作成
CSVファイルはユーザーのときと同じで、1行目に属性の定義、2行目以降に作成したいグループの情報を記述します。

```csv:group.csv
name,userPrincipalName,description,groupType,member
Admins,Admins,"IT管理者グループ",-2147483646,"CN=AmyR,OU=Admin,OU=Corporate,DC=example1,DC=com"
```

1行目に書いた属性は次の通りです。

|属性名 |説明 |
|-----|-----|
|name |グループの名前 |
|userPrincipalName |システムで扱われるグループの名前 |
|description |グループの説明 |
|groupType |グループのスコープ・種類 |
|member |グループのメンバー |

これ以外にも定義可能な属性はあるので、必要な属性があれば、以下から探してみてください。
https://www.manageengine.jp/products/ADManager_Plus/help/csv-import-management/active-directory-ldap-attributes.html

以上を踏まえて、上のgroup.csvファイルを読み解くと、
名前：admins
グループ名：admins
グループの説明：IT管理者グループ
member：AmyRユーザー
となります。

また、groupType属性で定義しているグループのスコープと種類ですが、あらかじめ決められた値を書かないといけません。スコープの種類の組み合わせによる値は次の通りです。

|スコープ |種類 |値 |
|-----|-----|-----|
|グローバル |セキュリティ |-2147483646 |
|グローバル |配布 |2 |
|ドメインローカル |セキュリティ |-2147483644 |
|ドメインローカル |配布 |4 |
|ユニバーサル |セキュリティ |-2147483640 |
|ユニバーサル |配布 |8 |

上のgroup.csvファイルではgroupTypeの値が-2147483646なので、グローバル・セキュリティグループを作ることになります。

###CSVファイルのインポートからグループの作成まで
ADManager Plusのコンソールを起動し、ログインしたら、[AD管理]タブから[CSVファイルのインポート]-[グループの作成]をクリックします。
![ME011.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/398582/6fc4163e-598c-3a09-0c54-3cf0e9602eec.jpeg)
続く画面で、前に作ったCSVファイルをインポートすると、CSVファイルの内容を読み取って内容の確認画面が出てきます。
![ME013.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/398582/79598215-eefc-8f11-eee3-5fc15afe246b.jpeg)
このときに、内容を確認するのですが、グループのメンバーとなるユーザーのDNが間違っていてもチェックはしてくれなかったので、自分で確認しましょう。(ちなみに間違ったまま先に進めたら、グループの作成中画面から先に進まず画面が止まってしまいました)
問題なければ次をクリックして、グループを作成するOUを選択します。
![ME015.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/398582/cf3f288e-feef-f756-baad-52577653ae33.jpeg)
ここまでできたら[グループの作成]をクリックして完了です。
Active Directoryユーザーとコンピューター管理ツールから見るとこんな感じでグループができあがってます。
![ME017.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/398582/0a854f92-fc21-9db3-f79f-4d7d5d88ef3d.jpeg)
###CSVファイルからグループの編集
グループの作成に使ったCSVファイルは内容を編集すれば、一度作ったグループの編集にも使えます。例えば、group.csvを使って作ったAdminsグループにメンバーとしてPaulWユーザーを追加したいとします。その場合は、group.csvファイルのmember列にPaulWユーザーを追加するだけです。

```csv:groupv2.csv
name,userPrincipalName,description,groupType,member
Admins,Admins,"IT管理者グループ",-2147483646,"CN=AmyR,OU=Admin,OU=Corporate,DC=example1,DC=com";"CN=PaulW,OU=Admin,OU=Corporate,DC=example1,DC=com"
```

ひとつのグループに複数ユーザーをメンバーとして追加するときはセミコロンで区切って記述します。CSVファイルができたら、ADManager Plusコンソールの[AD管理]タブから[CSVファイルのインポート]-[グループの編集]をクリックし、CSVファイルをインポートします。すると、変更内容の確認画面が出てきます。
![ME021.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/398582/ce8c645e-8554-bef1-075a-59ddb557d264.jpeg)
変更するグループにチェックをつけると、次に変更する属性の選択画面が出てくるので、ここでも変更したい属性にチェックを付けます。
![ME023.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/398582/feab005b-8566-b672-785e-c583b5023dea.jpeg)
あとは[ADでの更新]をクリックすれば完了です。
![ME026.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/398582/6a0b17e7-9459-f413-2c16-bd6a788f2649.jpeg)
このようにCSVファイルをマスターとしてActive Directoryに対する編集を加えていけば、GUIベースでオブジェクト管理をするよりも簡単に管理ができるようになると思います。
###CSVファイルをどうやって作るか
ADManager Plusを使ってグループを作るところを試してみましたけど、この機能のキモはCSVファイルをどうやって簡単に作るか？というところになると思いました。グループの作成・変更の際、member属性に追加するユーザーのDNを事前に調べなければならないですし、登録するユーザーが複数いる場合、CSVファイルにユーザーのDNを入力するのって結構面倒だと思うんですよね。
DNについては[レポート]-[グループレポート]-[選択したグループに所属するユーザー]を使って特定グループのユーザー一覧を表示し、[列の編集]から[識別名]を表示させれば、表示されるようになります。これをファイルとしてエクスポートして活用すれば良いと思います。
![キャプチャ2.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/398582/7bd6a773-ae1b-247d-f6d5-56b888b5381f.png)

それからグループのメンバーを指定するときに、CSVファイルで A;B;C;D のように書きますが、ExcelファイルでA;B;C;Dと書いたCSVファイルを開いてしまうと、
"CN=AmyR,OU=Admin,OU=Corporate,DC=example1,DC=com";"CN=PaulW,OU=Admin,OU=Corporate,DC=example1,DC=com"
と書いてある部分のうち、;(セミコロン)以降に書いた,(カンマ)がCSVファイルの区切りだと勘違いしてしまうんですよ。
![ME2-0.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/398582/b4a64f97-5fa6-c467-c382-6a8f2a111ffc.jpeg)
ですので、CSVファイルの編集をExcelから行うことは避けたほうがよさそうですね。