「Active Directory から情報を取得する」では、Active Directory の登録情報を Kompira Enterprise から参照する方法をご紹介しました。今回は同様の手法で Active Directory に新規のユーザーを登録してみます。
動作確認環境
ソフトウェア | バージョン |
---|---|
Kompira Enterprise | 1.5.5.post11 |
OS | CentOS 7.8.2003 |
Windows Server | 2019 (バージョン1809) |
Active Directory | スキーマバージョン 88 |
または
ソフトウェア | バージョン |
---|---|
Kompira Enterprise | 1.6.2.post4 |
OS | CentOS 7.8.2003 |
Windows Server | 2019 (バージョン1809) |
Active Directory | スキーマバージョン 88 |
事前準備
前回同様「Windows PowerShell 用 Active Directory モジュール」を使用します。Active Directory サーバーにインストールしてください。
スクリプトジョブの作成
まずはユーザーを登録するスクリプトジョブ「AddUser」を作成します。使用するコマンドレットは「New-ADUser」です。
スクリプトジョブ「AddUser」
Import-Module ActiveDirectory $password = ConvertTo-SecureString -AsPlainText $Args[5] -Force New-ADUser -Name $Args[0] -Surname $Args[1] -GivenName $Args[2] -DisplayName $Args[3] -UserPrincipalName $Args[4] -AccountPassword $password -PasswordNeverExpires $true -Enabled $True
New-ADUser に渡す各引数は、スクリプトジョブの引数として指定します。パラメータの順番に注意してください。
-Surname で指定した内容が「姓」に、-GivenName で指定した内容が「名」に、-DisplayName で指定した内容が「表示名」に、-UserPrincipalName で指定した内容が「ユーザーログオン名」に設定されます。
パスワードはただの文字列ではなく、SecureString 型である必要があるので、ConvertTo-SecureString コマンドレットを用いて変換します。
ジョブフローの作成
続いてスクリプトジョブ「AddUser」に引数を渡して実行させるジョブフローを以下のように作成します。
| Name = "kompira-user" | | Surname = "コンピラ" | | GivenName = "太郎" | | DisplayName = "コンピラ太郎" | | UserPrincipalName = "kompira-user@kompira.jp" | | Password = "SecretPassword12345" | | __node__ = ./NodeOfActiveDirectory | [./AddUser: Name, Surname, GivenName, DisplayName, UserPrincipalName, Password ] -> { if $ERROR == "" | then: print("ユーザー $Name を登録しました") else: print("登録エラー") } -> print("--------------------") -> print("ステータス:", $STATUS) -> print("メッセージ:", $RESULT) -> print("エラーメッセージ:", $ERROR)
※ ログインに用いるノード情報が同一ディレクトリの「NodeOfActiveDirectory」にあるものとします
ここでの注意点は、スクリプトジョブ「AddUser」は登録に失敗した場合でも戻り値に0を返すということです。このため失敗の判定はエラーメッセージ変数である $ERROR に値が格納されているかどうかで行います。
登録に成功した場合には、以下のように表示されます。
この場合、Active Directory サーバーで登録されたアカウントのプロパティを「Active Directory ユーザーとコンピューター」から見ると以下のようになります。
同じ条件で2回ジョブフローを実行すると重複登録のエラーになりますが、その際の画面は以下のようになります。
※ Kompira Enterprise 1.5 系では「エラーメッセージ」にのみ結果が表示されます
Active Directory のユーザーには、所属部門や電話番号、メールアドレスなど様々な属性情報を登録することが出来ます。また初回ログイン時にパスワード変更を強制するなどもできます。「New-ADUser」コマンドレットも多くの属性をサポートしています。詳細は Microsoft の公式ドキュメントなどを参照してください。
ユーザー登録に成功したら、該当ユーザーに登録内容の通知メールを送るように、ジョブフローを拡張することもできます。各組織での運用状況に応じて設定項目を調整してください。