AD ユーザーを一括追加するスクリプト

AD ユーザーを一括追加するスクリプト

検証環境を作るために Active Directory にユーザーを一括で追加するスクリプトを使ったのでメモとして残しておきます。CSV で別途ユーザー情報を定義しておいて、それを一括で読み込む形です。

CSV

CSV には追加するユーザー情報として次のようなカラムを用意します。

  • UserName
  • employeeID
  • PhoneNumber
  • DisplayName
  • familyName
  • givenName
  • Department
  • Role

スクリプト

ドメインユーザーを追加できる権限を持ったユーザー権限で次のスクリプトを実行します。OU パスやパスワードなどは環境に合わせて置き換えます。

Import-Module ActiveDirectory

# CSVファイルを読み込みS
$CsvUsers = Import-Csv "./AD-User.csv"

$OUPATH = "OU=<OU>,DC=<DC>,DC=<DC>"
$PASSWD = "<Password>"
$DOMAIN = "<Domain>"

ipcsv "./AD-User.csv" -Encoding Default | %{
  # ユーザ定義用の連想配列を作成
  $users = @{
    samAccountName = $_.UserName
    employeeID = $_.employeeID  # 従業員ID
    MobilePhone = $_.PhoneNumber  # 電話番号
    Name = $_.DisplayName
    Surname = $_.familyName  # 姓
    GivenName = $_.givenName  # 名
    DisplayName = $_.DisplayName  # 表示名
    Path = $OUPATH  # OUは固定
    Department = $_.Department
    Title = $_.Role
    UserPrincipalName = $_.UserName + '@' + $DOMAIN # ユーザプリンシパル名
    AccountPassword = (ConvertTo-SecureString -AsPlainText $PASSWD -force)  # 暗号化したパスワード
    ChangePasswordAtLogon = $True  # 次回ログオン時にパスワード変更が必要
    Enabled = $True  # ユーザを有効にする
  }
New-ADUser @users  # アカウント追加