Windows Server World Conference – 来場のお礼とセッションで使用したスクリプト

 
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)
 
パスワードが平文で入っていますので、スクリプトファイルの取り扱いには注意してください。