您的位置:首页 > 运维架构 > Shell

批量更改AD账户的属性

2017-10-16 16:37 603 查看
背景:

因为其他系统要调用AD账户,但是前期需要给每个AD对象的属性写上唯一标识。

解决思路:

通过PowerShell和Csv文档,批量更改用户属性值

方法:

#脚本功能:导入指定部门OU的ID,或者是给部门OU添加属性值
#时间:2017年10月12日15:17:28
##########################################################

#导入文件“OUID.csv”中的部门信息
Import-Csv -Encoding Default -LiteralPath C:\Users\test\Desktop\导入部门ID\OUID.csv  | foreach {

#定义ID变量/一级OU变量,同理可增加到二三级OU
$List= $_.List
$ou1= $_.First
#汇总OU变量
$ou = "ou=$ou1,ou=cs_test,dc=adtest,dc=cn"
#获取OU信息,并设置OU对象的Description属性为OUID
get-ADOrganizationalUnit -Identity $ou | Set-ADOrganizationalUnit -description $List
#显示添加完成的部门OUID信息
get-ADOrganizationalUnit -Identity $ou -Properties * | Select-Object Name,Description | ft -AutoSize
}


以下为OUID.csv文件内容

List,First,Second,Third
001,管理组,,
002,人事行政部,,
003,人事行政部,行政组,
004,人事行政部,行政组,前台


解释:

因为脚本写的简单,也不是经常用的脚本。所以需要手动匹配。
批量导入需要从最低级部门开始导入,如有OUID中的004,需要增加变量:$ou2= $_.Second,$ou3=$_.Third,需要把汇总OU变量$ou = "ou=$ou3,ou=$ou2,ou=$ou1,ou=cs_test,dc=adtest,dc=cn"。
一定要先从三级部门(也即是最低级部门)开始,导入完最低级,就删除对应的变量和汇总变量中的参数。


PS:大家如果有不明白的地方,请积极留言啊,或者有什么小脚本要求,我要可以满足。

欢迎大家关注我的博客,及时获取最新的IT小知识。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息