LoginSignup
13
15

More than 5 years have passed since last update.

PowerShellを使って, ADドメインにユーザを追加する

Posted at

下記の記事で、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
}

上記のようなスクリプトを自動生成するプログラムを作成して, それをドメコンで実行すれば, 一気にユーザは作成される.

13
15
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
15