2009年9月30日のWindows Server World Conference / Microsoft Management Summitにご来場いただいた皆さん、
そして、私のセッションにご参加いただいた皆さん、
お忙しい中、お越しいただきありがとうございました。
セッションの中で使用したスクリプトは、
こちらからダウンロードできますので、
よろしければお使いください。(といっても5行程度しか書いていないスクリプトですが…)
お配りしたセッションスライドの中で訂正事項がありましたので、ここでお知らせしておきます。
(赤字部分が訂正箇所)
$strData = "c:scriptstest.txt" #CSVファイルの場所 $strOU = "ou=Lab,dc=example,dc=com" #ユーザーを作成するOU $csvDatas = Import-Csv $strData $Password = Read-Host "Password is" -asSecureString ForEach ($csvData in $csvDatas) { New-ADUser -Name $csvData.cn -SamAccountName $csvData.sAMAccountName -UserPrincipalName $csvData.userPrincipalName -Path $strOU –AccountPassword $Password }
|
New-ADUserコマンドレットの-AccountPasswordオプションはユーザーのパスワードを指定するオプションですが、
暗号化されたパスワードを指定しなければなりません。そのため、
Read-Host "Password is" -asSecureStringを実行してパスワード入力をプロンプトで求め、
その結果を$Password変数に入れてから、-AccountPasswordオプションに入れています。
スクリプト実行時にパスワードを入力するのではなく、あらかじめパスワードをスクリプトの中で
指定しておきたいという場合は、ConvertTo-SecureStringコマンドレットを使ってください。
上記のNew-ADUserコマンドレットはこのように変わります。(パスワードがP@ssw0rdの場合)
New-ADUser -Name $csvData.cn -SamAccountName $csvData.sAMAccountName -UserPrincipalName $csvData.userPrincipalName -Path $strOU
-AccountPassword
(ConvertTo-SecureString -AsPlainText "P@ssw0rd" -Force)
パスワードが平文で入っていますので、スクリプトファイルの取り扱いには注意してください。