回答:
名前やパスワードなどのリストを取得するスクリプトを探しているかどうかはわかりませんが、次のコマンドは1人の新しいユーザーを作成するために機能します。UserPrincipalNameはオプションです。この場合、電子メールは使用されません。
New-ADUser -SamAccountName nnn2 -Name "nnn2" -UserPrincipalName nnn2@jj -AccountPassword (ConvertTo-SecureString -AsPlainText "somePassword" -Force) -Enabled $true -PasswordNeverExpires $true -Path 'CN=Users,DC=jjdomain,DC=net'
信頼できるドメインでユーザーを作成する場合は、上記のコマンドに-server dns.domainを追加します
add-windowsfeature rsat-ad-powershell;
ipmo activedirectory
QuestのADコマンドレットを調査することをお勧めします。
http://www.quest.com/powershell/activeroles-server.aspx
新しいADユーザーは次のようになります。
new-QADUser -name 'user1' -ParentContainer 'OU=companyOU,DC=company,DC=com' -samAccountName 'user1' -UserPassword 'P@ssword'
ただし、「純粋な」Powershellの場合、Ideraのスクリプトに関するShayの提案は、追加のコマンドレットを使用して節約できます。スクリプトをダウンロードする手間がかかる場合は、Questコマンドレットもダウンロードしてください。
上記のブラッドの答えを取り、以下にもう少し詳細を追加しました(この方向で考えさせてくれたブラッドに感謝します)。
入力CSVファイル:
cn,givenname,sn,sAMAccountName,displayname,UserPrincipalName
Joe Smith,Joe,Smith,jsmith,Joe Smith,jsmith@domain.com
Susan Johnson,Susan,Johnson,sjohnson,Susan Johnson,sjohnson@domain.com
コード:
$inputFile = Import-CSV <insert filepath here>
foreach($line in $inputFile)
{
## need to add quotes around DSN
$dsn = "`"cn="+$line.cn+",ou=userou,dc=domain,dc=com`""
$samid = $line.sAMAccountName
$ln = $line.sn
$fn = $line.givenname
$dn = $line.displayname
## need to add quotes around display name
$dn2 = "`"$dn`""
$upn = $line.UserPrincipalName
cmd /c "dsadd user $dsn -samid $samid -ln $ln -fn $fn -display $dn2
-upn $upn -mustchpwd yes -pwd TempP@assw0rd"
write-host `n
}
がんばろう!
異なるネットワーク/ドメインで同じユーザーを設定しているだけであれば、単純な古い.cmdファイルでうまくいくはずです。各ユーザーに対してdsaddコマンドを呼び出すだけです。
dsaddまたはdsmodの呼び出しは、PowerShellスクリプトの途中でも機能します。ユーザー名/パスワードのCSVファイルを作成して、powershellスクリプトでインポートし、次のようにdsaddまたはdsmodを呼び出して各行をループできます。
$inputFile = Import-CSV <insert filepath here>
foreach($line in $inputFile)
{
dsadd user -samid $line.Username -pwd $line.Password
}
dsコマンド(dsadd、dsmodなど)はActive Directoryの役割でインストールされるため、ADを起動して実行すると使用可能になります。