Active Directory ユーザーの一括登録


Active Directory (@ Windows Server 2012 R2) にADユーザーを一括登録した際の備忘録です。

ADユーザの登録にはいろいろな方法 ( @ITさんの記事 とか technet (英語) ) がありますが、今回は CSVファイルにユーザーの情報を記載して、 PowerShell コマンドレット(New-ADUser)に取り込んで一括作成しました。

 


登録したユーザー(例)のパラメーター

・Name :  user001
・姓 (Surname): 苗字
・名 (GivenName): 名前
・表示名 (DisplayName): 苗字 名前

 

・ユーザー ログオン名(UserPrincipalName) : user001@hogehoge.local
・ユーザーは次回ログオン時にパスワード変更が必要(ChangePasswordAtLogon) : True

 

・プロファイルパス(ProfilePath) : 今回は移動プロファイルなので、それ用に作った共有フォルダのUNCパスを指定。
・ホームフォルダー 接続ドライブ(HomeDrive) : Oドライブ
・ホームフォルダー パス(HomeDirectory) : 共有フォルダのUNCパスを指定

 

上記の赤枠で囲んでいるパラメーターが明示的に設定した箇所になります。(その他のパラメーターはデフォルトのまま)

 


 

ちなみに、上記の1ユーザーのみを PowerShell の New-ADUser コマンドレットで登録するには、

 New-ADUser user001 -Surname 苗字 -GivenName 名前 -DisplayName "苗字 名前" -UserPrincipalName user001@hogehoge.local -AccountPassword (ConvertTo-SecureString "Himitsu@1234" -AsPlainText -Force) -ProfilePath \\hogehoge.local\Profile$\UserProfiles$\%username% -Path "OU=test,DC=hogehoge,DC=local" -Enabled $true -ChangePasswordAtLogon $true -HomeDrive O: -HomeDirectory \\hogehoge.local\Share\共有フォルダ

※ ADドメイン 「hogehoge.local」 内のOU(組織単位) 「test」 に user001 を作成。

「AccountPassword」 パラメータでパスワード ( Himitsu@1234 ) を設定しています。
New-ADUser コマンドは平文でのパスワードを入力出来ないため、後に続く()内の ConvertTo-SecureString で暗号化してます。

New-ADUser コマンドの引数については、technet (https://technet.microsoft.com/ja-jp/library/ee617253.aspx) に詳しく載ってます(英語ですけど・・・)。

 


登録するユーザを CSVファイルに記載します。

今回は同一ADドメイン内の単一OU(組織単位)へのユーザー展開だったので、

・Name
・Surname (姓)
・GiveName (名)
・DisplayName (表示名)
・UserPrincipalName (ユーザー ログオン名)

を可変要素とし CSV ファイルに登録。
(ユーザープロファイルのパスとか初期パスワードは共通なので、CSVではなくコマンドから直接入力)

CSV は下記のように記載します。

Name,Surname,GivenName,DisplayName,UserPrincipalName
user001,苗字,名前,苗字 名前,user001@hogehoge.local
user002,苗字2,名前2,苗字2 名前2,user002@hogehoge.local

このCSV ファイルを今回は 「users.txt」 とういファイル名で保存。

 

PowerShell を(管理者権限で)起動して、以下のコマンドを実行。

 Get-Content .\users.txt | ConvertFrom-Csv | %{New-ADUser $_.Name -Surname $_.Surname -GivenName $_.GivenName -DisplayName $_.DisplayName -UserPrincipalName $_.UserPrincipalName -AccountPassword (ConvertTo-SecureString "Himitsu@1234" -AsPlainText -Force) -ProfilePath \\hogehoge.local\Profile$\UserProfiles$\%username% -Path "OU=test,DC=hogehoge,DC=local" -Enabled $true -ChangePasswordAtLogon $true -HomeDrive O: -HomeDirectory \\hogehoge.local\Share\共有フォルダ}

※ 上記は users.txt を配置したカレントパスで実行してます。 

日本語の文字化けを回避するために、CSVファイルを 「 Get-Content 」 コマンドレットで読み取ってから 「ConverFrom-Csv 」 して 「 New-ADUser 」 に渡すようにしています。

 

今回の備忘録は以上となります。