ADManager Plus ナレッジベース

カスタムスクリプトの利用【LINE WORKS編】


[確認ビルド] ビルド6651

カスタムスクリプト機能を利用してLINE WORKSと連携させる場合の手順をご紹介します。
※本ナレッジでご紹介している手順はご利用の一例となりますので、お客様の環境に合わせてご利用ください。

カスタムスクリプト機能のご説明については、以下をご参照ください。

 要件

ADManager Plusから新規にユーザーを登録した際に、LINE WORKSにも同時にメンバーを追加する。

 設定手順概要

1. 準備
2. LINE WORKSで必要情報を登録
3. スクリプトを作成
4. ADManager Plusでカスタムスクリプトを設定
5. LINE WORKSで組織連携を有効化
6. その他のLINE WORKSと連携させた場合の利用方法

 

 

■ 本ナレッジでの条件

本ナレッジでのLINE WORKSとの連携条件は以下の通りです。

・LINE WORKSライトプランを利用
・Server List(固定IPタイプ)を利用
・LINE WORKSのメンバー追加APIを利用
・Power Shellでスクリプトを作成

 

 1. 準備

ADユーザー属性とLINE WORKSの値をどの値に紐づけるかあらかじめ決定します。

例)

ADユーザー属性 LINE WORKSの値
sAMAccountName name
mail mail
sn lastname
givenName firstname

 

 2. LINE WORKSで必要情報を登録

A) Server API Consumer Keyを登録

APIを利用するにために、APIの有効期限を決めるConsumer Keyを登録します。

1. LINE WORKSのDeveloper Consoleにログイン


画像:LINE WORKS Developersログイン画面

 

2. Consoleの欄の[API]をクリック

3. Server API Consumer Keyの[発行]をクリック


画像:LINE WORKS Developers画面

 

4. 利用するAPIの範囲を指定

APIを利用する範囲を選択してください。今回はメンバーの追加を行うので「組織連携」を選択します。


画像:Server API Consumer Keyの設定1

 

5. Server API Consumer Key管理を設定

Tokenの有効期間 任意の日にち
Tokenの使用時に有効期間を自動延長しますか? はい/いいえ

※Tokenの有効期限が切れると、APIを利用できなくなります。
※Consumer Keyの詳細事項についてはLINE WORKSのホームページをご確認ください。


画像:Server API Consumer Keyの設定2

 

B) Server List(固定IPタイプ)にADManager Plusサーバーを登録

APIを利用するにために、スクリプト内にトークンを記述します。トークンを発行する手順は以下の通りです。

1. Developer Consoleの[API]をクリック

2. Server List(固定IPタイプ)の[追加]をクリック


画像:LINE WORKS Developers画面

 

3.Server Listに次の情報を記入し、[同意して利用する]をクリック

サーバー名 ADManager Plusのサーバー名を入力
Keyの選択 上記で作成したKeyを選択
IP ADManager PlusのグローバルIPアドレスを記入

 

画像:Server List設定された画面

 

 3. カスタムスクリプトを作成

LINE WORKSでSSOを利用していない場合、登録待ちとなります。個人メールアドレス宛に認証メールが送信されます。

本ナレッジではPowerShell スクリプトで作成します。

  • Request URL

https://apis.worksmobile.com/r/{API ID}/organization/v2/domains/{domainId}/users/{externalKey}

  • HTTP Method

POST

  • Request Parameters

必須パラメータ

・email
・name
・name.lastName
・organizations[].domainId
・organizations[].orgUnits[].externalKey
・messenger.protocol
・messenger.messengerId

記述例)

※変数にsAMAccountName、sn、givenName、mail属性を利用しています。

$sAMAccountName = $Args[0]
$mail = $Args[1]
$sn = $Args[2]
$givenName = $Args[3]
$headers = New-Object "System.Collections.Generic.Dictionary[[String],[String]]"
$headers.Add("Content-Type","application/json; charset=UTF-8")
$headers.Add("consumerKey","uZPtEyXfevdD4DIwwvbJZmK")
$headers.Add("Authorization","Bearer A8Xch5XkFK+nbbDzS0oDjGcOzyMaGbEOWh/p3aFO6XAAA9c4VSBBWrn2L/MJvgAoFkTJu0V6Eifrd+K6fAKX73Ckii9HR9DQQjjtLyqm1XPXt5qmq1yhAvDh+oFRXhQbOFJmTqmYIS0jhUytvyIvEqOPCXExXZqzMi4hhB5gc9n2vnJvAcKSXGvVBCQhepKzblOPAi1qU+Wc1th2dk5xYHblp0fVTfjSA2HQDvfFw4PAWgDL2ZLNP+DEz+iBuS0dkTGNvMwW4fEBOHMKPZ0zma0/pqzqgCVgd00FYWrMeRe61qxHtCf5W4Bf4L76Y6eWWQglby0TrzGk2UGkY7smVx42zQ4=")
$headers.Add("Cache-Control","no-cache")
$json = @"
{
"email": "$sAMAccountName@sample-domain.local",
"name": {
"lastName": "$sn",
"firstName": "$givenName"
},
"privateEmail": "$mail",
"searchable": true,
"organizations": [
{
"domainId": "10041752",
"orgUnits": [
{
"externalKey": "$mail"
}
]
}
],
"messenger": {
"protocol": "LINE",
"messengerId": "$sAMAccountName"
},
"birthday": "1980.01.01",
"hireDate": "2018.01.01",
"locale": "ja_JP",
"timeZone": "Pacific/Midway"
}
"@
$Uri = "https://apis.worksmobile.com/r/jp1mOlJofjzQI/organization/v2/domains/10041752/users/$sAMAccountName"
Invoke-RestMethod -Uri $Uri -ContentType 'application/json' -Method Post -Header $headers -Body $json

【 サンプルスクリプトをダウンロードする 】
※お客様の環境に合わせてご利用ください。

スクリプトの詳細内容については、LINE WORKSのメンバー追加APIページをご覧ください。

 

 4. ADManager Plusでの手順

1. ログインし、AD管理>ユーザー作成テンプレートをクリック


画像:ADManager PlusのAD管理画面

 

2. [新規テンプレート]を作成をクリック

※既に作成したテンプレートに設定する場合は、該当テンプレートの編集ボタンをクリックします。

3. [カスタム属性]タブをクリック


画像:ADManager Plusテンプレート編集画面

 

4. [ユーザー作成に成功したらカスタム スクリプトを実行する]オプションを有効化


画像:ADManager Plusテンプレート編集画面、カスタム属性タブ

 

5. スクリプトコマンドを入力

構文:powershell <ファイルのパス> <コマンドラインの変数>

記入例)

powershell C:\Users\kAdministrator\Documents\LINEWORKS\lineWorks_CreateUser.ps1 %samaccountname% %mail% %sn% %givenname%


画像:カスタムスクリプト記入例

 

6. [テンプレートを保存]をクリック

 

 

 5. LINE WORKSで組織連携を有効化

1. LINE WORKSのDeveloper Consoleにログイン


画像:LINE WORKS Developersログイン画面

 

2. Consoleの欄の[組織連携]をクリック

3. [組織連携使用設定]で[組織/構成員]を有効化し、[適用]をクリック


画像:LINE WORKS Developers画面

※組織連携を有効化すると、該当の項目は管理者画面から編集できなくなります。

 

以上です。

 

新規ユーザーを作成する場合に上記のテンプレートを利用すると、ADユーザー作成と同時にLINE WORKSにもメンバーが追加されます。

 

 6. その他のLINE WORKSと連携させた場合の利用方法

・ADユーザーを更新すると同時にLINE WORKSのユーザー情報を更新する場合:
サンプルスクリプトをダウンロードする

・ADユーザーを削除すると同時にLINE WORKSのユーザーを削除する場合:
サンプルスクリプトをダウンロードする

・AD上でOUを作成すると同時にLINE WORKSのグループを作成する場合:
サンプルスクリプトをダウンロードする 】