如果新建的用户所在城市不在以该城市命名的OU里面,可以通过下面命令进行批量移动,例如将城市为“杭州”的用户移动到OU位HGH里面,并且名字为杨晨光的AD用户移动到IT的OU里面,代码如下:

#列出Normal中用户属性中城市是杭州的用户

$a=Get-ADUser -Filter {(City -eq"杭州") -and (Enabled -eq "true")} -SearchBase "OU=Normal,OU=1_UserAccount,DC=test,DC=com"|select name

$ad=$ad+$a.name

#列出OU杭州里用户属性

$b=Get-ADUser -Filter * -SearchBase "OU=HGH,OU=Normal,OU=1_UserAccount,DC=test,DC=com"

$shgroup=$shgroup+$b.name

#比较一下里两个变量ab,把属于杭州的用户导出到文件

$c=Compare-Object  $ad $shgroup | ? {$_.sideindicator -eq '<=' } |select inputobject

$c |Export-Csv -Encoding Unicode -NoTypeInformation D:\ps\MoveUserTOU\adreport.csv

$adreport=$adreport+$c.inputobject

$adreportnum=$adreport.count

foreach ($member in $adreport)

{

#将刚才导出的文件里面的用户移动到HGH

Get-ADUser $member | Move-ADObject -TargetPath "OU=HGH,OU=Normal,OU=1_UserAccount,DC=test,DC=com"

}

Get-ADUser -Filter {(Surname -eq"杨") -and (GivenName -eq"晨光")}| Move-ADObject -targetpath "OU=IT,OU=SHA,OU=Normal,OU=1_UserAccount,DC=test,DC=com" -Server "server1.test.com"