2011年3月16日水曜日

◆CSVファイルを使ってActiveDirectoryユーザーを追加する

CSVファイルを読んでNew-ADUserコマンドレットにパイプすれば簡単に出来る、っと思ったのだが、色々とつまずいた。

1件ごとに追加するときにはNameパラメータを指定するだけで良かったのだがCSVから追加するときにはSamAccountNameパラメータも指定する必要があるようだ。(タイミング的な問題が絡んでいそうな・・・)

また、EnabledパラメータやPasswordNotRequiredパラメータのboolパラメータの指定が効いてくれない。ByPropertyNameパラメータなので普通に指定できるはずと思うのだが。
指定の仕方が悪いのか・・・。

仕方が無いのでSet-ADUserで追加設定することにした。

001
002
003
004
005
006
007
008
009
010
011
012
013
014

$header = "Name,SamAccountName,SurName,GivenName,Enabled,PasswordNotRequired"
$user1 = 'kubo,kubo,久保,裕也,1,1'
$user2 = 'takagi,takagi,高木,康成,True,True'
$user3 = 'tohno,tohno,東野,峻,$true,$true'

$arrayuser = Get-Variable user*

Set-Content -Path .\user.csv -Value $header -Encoding 
Unicode
0
..($arrayuser.Count - 1) |
 
 
%{Add-Content -Path .\user.csv -Value ($arrayuser[$_].value -join ","
) `
   
-Encoding Unicode
}
 

Import-Csv .\user.csv |  New-ADUser -PassThru |
 
 
Set-ADUser -Enabled $true -PasswordNotRequired $true

11行目迄はCSVファイルを作っているだけなので別の方法でCSVを手作りする場合には特に関係ないので読み飛ばして構わない。<!--EndFragment--

0 件のコメント:

コメントを投稿