Active Directory にユーザーを登録する

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 の公式ドキュメントなどを参照してください。

ユーザー登録に成功したら、該当ユーザーに登録内容の通知メールを送るように、ジョブフローを拡張することもできます。各組織での運用状況に応じて設定項目を調整してください。

TOP