Powershell 仕事

Active DirectoryにCSVリストのユーザーを新規作成する。

2017/04/02

新卒の入社時など、ある程度まとまった数のユーザーを登録する必要があるとき
一つひとつGUIから作成するのは面倒。

Powershellを使えば、ある程度属性を設定した上で
CSV取り込みすることが可能です。

こんな感じにCSVを用意する。

【UserAdd.CSV】

アカウント名 表示名 初期パスワード グループ名 OU
1 Taro.Y 山田 太郎 Taro Yamada Password 人事部 Users-人事
2 Hanako.T 田中 花子 Hanako Tanaka Password 総務部 Users-総務
3 Hogetaro.H ほげ ほげ太郎 Hoge Hogetaro Password 役員 Users-役員

上記のファイルをc:\とかに配置します。
そうしたらあとは以下を実行するだけです。

----------------------------
#ここはおまじない。
Import-Module ActiveDirectory
#ドメインのDNを取得
$TargetDomain=(Get-ADDomain | Select-object DistinguishedName).DistinguishedName

#ここから本体
Import-CSV C:\UserAdd.csv | ForEach-Object -process {
$TargetOU="OU="+$_.OU+","+$TargetDomain

Write-Host `n

New-ADUser $_.アカウント名 `
-UserPrincipalName $_.アカウント名 `
-Enabled $true `
-Surname $_.姓 `
-GivenName $_.名 `
-DisplayName $_.表示名 `
-AccountPassword (ConvertTo-SecureString -AsPlainText $_.初期パスワード -Force) `
-ChangePasswordAtLogon $true `
-path $TargetOU `
}

----------------------------
これで、CSVで指定したOUの下に、新規でユーザーを作成できます。
OUはドメイン直下に作成していることを想定しているので、階層になっている場合は
CSVに第二階層の列とか用意してあげれば書けると思われます。
少し補足で解説すると

-Enabled $true

この行を入れると、有効な状態でユーザーが作成されます。
入れないと無効な状態で作成されてしまいます。

-ChangePasswordAtLogon $true

この行を入れると、利用者は初回ログオン時にパスワードの変更を求められます。
不要な場合はこの行は消してください。

おしまい。

ブログ村

ブログ村PV

PVアクセスランキング にほんブログ村

-Powershell, 仕事