Powershell迁徙域用户的属性值

最近同事在忙域用户的迁徙。今天早上他给了我个已经迁徙了的名单,让我帮忙写个简单的脚本,从一个csv文件里面读取用户的名字,然后从域 A里面获取extensionattribute10的值,写入另外一个域B 里面对应的用户属性里,然后把该用户从A里的某个用户组里删掉。


我的基本思路很简单,在域A里面读取C文件,把用户名字放入数组,然后循环读取每一个名字,查找对应的属性值,输出到文本D,顺便把该用户从对应的组里面删掉。



$db=get-contentc:\users\yuan.li.mitch\desktop\test.log


foreach( $data in $db) {

$Attribute=get-AdUser $data -properties extensionattribute10

$data + ","+ $Attribute.extensionattribute10 >> .\user.csv

remove-adgroupmember-identity "group.citrix.mozilla" -members $name –confirm:false

}


然后在域B里面读取文本D,更改对应的数据,然后再确认一下是否都更改了


#############Update######################


$db=Get-ContentC:\temp\users.csv

foreach ( $data in $db) {

$namesplit=$data.Split(",")

$username=$namesplit[0]+"."+$namesplit[1]

$cardnumber=$namesplit[2]

set-aduser $username -add@{extensionattribute10=$cardnumber}


}



###############Confirm#####################


$db=Get-ContentC:\temp\users.csv


foreach ( $data in $db) {

$namesplit=$data.Split(",")

$username=$namesplit[0]+"."+$namesplit[1]

$cardnumber=$namesplit[2]


try{

$att=get-aduser $username-properties extensionattribute10


if ($att.extensionattribute10-eq $cardnumber){


write-host "succesful"


}

else

{

write-host "failed"

$username  >>c:\temp\logs\list.txt

}


}

Catch

{$_ | Out-FileC:\temp\logs\errors.txt -Append

}

}











本文转自 beanxyz 51CTO博客,原文链接:http://blog.51cto.com/beanxyz/1395669,如需转载请自行联系原作者
上一篇:WPF 4 单词拼写检查(SpellCheck)


下一篇:编译Android AOSP代码