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

}

}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值