Active Directory のユーザー情報を PowerShell 操作で LINE WORKS に一括で連携
Active Directory のユーザー情報を PowerShell 操作で LINE WORKS に一括で連携
Active Directory のユーザー情報を PowerShell 操作で LINE WORKS に一括で連携する手順の一例を説明します。
Get-ADUser コマンドレット
Get-ADUser コマンドレットで、AD 上のユーザーを取得できます。
TITLE: Get-ADUser
URL: https://docs.microsoft.com/en-us/powershell/module/addsadministration/get-aduser?view=win10-ps
本記事では一例として "LWUsers" OU に所属のユーザーを取得します。
Get-ADUser -Filter * -SearchBase "OU=LWUsers,DC=example,DC=com"
LINE WORKS メンバー追加 API
LINE WORKS の組織連携 API でメンバー追加できます。
TITLE: メンバー追加
URL: https://developers.worksmobile.com/jp/document/100300501?lang=ja
Inveke-RestMethod コマンドレットで PowerShell から LINE WORKS の組織連携 API を実行します。
ここでは、必須パラメータのみ利用しています。
mail -> email
sn -> name.lastName
givenName -> name.firstName
Get-ADUser コマンドレットで取得したユーザーの メール、姓、名の情報を LINE WORKS の属性値に連携しています。
SSO を想定したスクリプト例を記載していますが、SSO でない場合には上記に加えて privateEmail パラメータの指定が必要です。
スクリプト例は以下のとおりです。
Get-ADUser -Filter * -SearchBase "OU=LWUsers,DC=example,DC=com"|
%{
$header = New-Object "System.Collections.Generic.Dictionary[[String],[String]]"
$header.Add("Content-Type","application/json; charset=UTF-8")
$header.Add("consumerKey","<Server API Consumer Key>")
$header.Add("Authorization","Bearer <Server Token>")
$json = @"
{
"email": "$($_.mail)",
"name": {
"lastName": "$($_.sn)",
"firstName": "$($_.givenName)"
}
}
"@
$Uri = "https://apis.worksmobile.com/r/<API ID>/organization/v2/domains/<domainID>/users/$($_.UserPrincipalName)"
Invoke-RestMethod -Uri $Uri -ContentType 'application/json' -Method Post -Header $header -Body $json
}
動作確認
スクリプト実行後に管理画面でユーザーが作成されていることを確認します。
また、それぞれのユーザーがログイン可能であることを確認します。
Author And Source
この問題について(Active Directory のユーザー情報を PowerShell 操作で LINE WORKS に一括で連携), 我々は、より多くの情報をここで見つけました https://qiita.com/iwaohig/items/f3384c7867be0f597927著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .