下記の記事で、Linuxのユーザ認証をADで行う設定を記載した.
http://qiita.com/rsakamot/items/6d4b6cbce7ac2aa6724a
で、ユーザを作る際, GUIで, がちゃがちゃするのはつらい.
数人だったらいいけど, 初期構築時には大量のユーザを登録することになることが多いと思う.
そこでPowerShellを利用する.
個人的には「これがスクリプトかよ」と内心思っているが, 貧弱なbatより100倍マシであるし, 現実問題として, 他に選択肢がない.
ので, ADのユーザをPowerShellで追加する.
※AD用のコマンドレットはADインストール時に追加されているものとする.
※慣れると便利なものです. PowerShell.
正直なところWindowsのユーザ追加であれば, 下記のサイトで十分. というかすごく詳しく書いてくれている.
いろいろ参考にさせて頂いています.
http://codezine.jp/article/detail/6109
でも, UNIX用のユーザを追加するところはさすがに書かれていない.
ということで, スクリプトは下記のような感じ.
下記はNISサーバ機能が入っているとして, 'msSFU30NisDomain'
の項目を設定しているが, これはなくてもOKです.
PowerShellでは`(バッククォート)で改行になるので注意.
# passwordの生成
# パスワードをインタラクティブに入れたい場合はここ
# $password = Read-Host "Password is" -AsSecureString
# ユーザを変数に
$user = "sakamoto"
$gid = "10000"
$uid = "10000"
$nisDomain = "saka"
# ユーザ追加
# UNIX属性になるのは-OtherAttributes
New-ADUser -name "$user" `
-Surname "坂本" `
-GivenName "龍馬" `
-Displayname "$user" `
-UserPrincipalName "$user@saka.example.com" `
-AccountPassword (ConvertTo-SecureString "Passw0rd" -AsPlainText -Force) `
-ChangePasswordAtLogon $True `
-Path "OU=01Users,DC=saka,DC=example,DC=com" `
-sAMAccountName $user `
-OtherAttributes `
@{'gidNumber'="$gid"; `
'uidNumber'="$uid"; `
'unixHomeDirectory'="/home/$user"; `
'loginshell'="/bin/bash"; `
'msSFU30NisDomain'="$nisDomain"} `
-Enabled $True
# グループにユーザを追加
$groups = "saka", "admin"
foreach($group in $groups) {
Add-ADGroupMember $group $user
}
上記のようなスクリプトを自動生成するプログラムを作成して, それをドメコンで実行すれば, 一気にユーザは作成される.