Powershellコマンドレットを使って Active Directory のユーザーアカウントを一括で作成方法を解説します。
ユーザーアカウントの運用をされている方だと、GUIでのユーザーアカウント作成が多いと思います。
しかし、毎回GUIでの作業を行っていると、「単調で設定ミスが起こりやすい」「時間がとにかくかかる」といったことに悩まされます。
また、30名~50名の人員の増加したら、ユーザーアカウント作成でもかなりの労力になります。
そこで、PowerShell コマンドレットを使ってユーザーアカウント作成すると、「ミスが無くなる」「単調な労働から解放される」といったメリットが多数あり、今回コマンドを利用してユーザーアカウント作成と設定を行っていきたいと思います。
New-ADUser:ユーザーアカウント作成
New-ADUserコマンドレットでユーザーアカウント作成していきます。
主な条件は以下を想定してアカウント作成します。
・Active Directory 上の特定のOUにアカウントを作成
・初回ログオン時のパスワード変更を有効にする
コマンド実行してみる
コマンドは、New-ADUser でActive Directory サーバ上のPowershell で実行します。
使用方法は以下です。
New-ADUser <オプション> |
たとえば、以下のようなユーザーアカウント作成する場合を考えてみましょう。
表示名:山田 花子 姓:山田 花子 名:花子 ログオン名:Yamada-Hanako 初回パスワード変更:変更する |
この場合、コマンドの例は以下になります。
サンプルのバッククォート ( ` ) はスクリプトを改行するのに使います。
New-ADUser -UserPrincipalName “Yamada-Hanako@applepie.local” ` -SamAccountName “Yamada-Hanako” ` -Name “山田 花子” ` -DisplayName “山田 花子” ` -Surname “山田” ` -GivenName “花子” ` -ChangePasswordAtLogon $True ` -AccountPassword (ConvertTo-SecureString -AsPlainText “mL@r&blr” -Force) ` -Path “OU=New-Users,DC=ApplePie,DC=local” ` -Enabled $True |
コマンド内容を深堀してみる
Active Directory 上にアカウント作成時の要点を箇条書きにしてみます。
パスワード設定していませんが、指定しない場合だと、パスワードは「なし(空白)」の設定になります。
しかし、パスワード入力しないと、ADのサーバ設定によってアカウントが無効状態になったりして不都合が生じることもあります。
パスワードは入力しておいた方がよろしいでしょう。
- UserPrincipalName、SamAccountName は必須項目です。UserPrincipalName はドメインのFQDN名すべて記載します。
- Name は必須項目です。これを指定しないとアカウント作成できません。
- 初回ログオン時のパスワード変更オプション “ChangePasswordAtLogon” の設定を $True とします。
- Path でどのOUにアカウントを作成するか指定できます。今回AD上に作成した”New-Users”OUへアカウントを作成します。
- Enabled アカウント作成時に無効状態になっていますので、$Trueで利用可能な「有効状態」へと変更します。
- AccountPassword でパスワード指定できます。但しSecureString 型へ変更が必要ですので、カッコ内のようにコンバートしましょう。
(ConvertTo-SecureString -AsPlainText “パスワード” -Force)
まとめ
Active Directory のユーザーアカウントはGUIで行うのがもっとも簡単ですが、PowerShell コマンドレットを使えるようになるとスクリプトでの一括処理も行えて効率的です。
また、大量のアカウント作成では設定ミスが発生しやすくなりますので、コマンドでの処理はすごく有効です。
たしかに、コマンドを用意するのに手間がかかりますが、一度試してみてみるとすごく便利な機能かと思います。