批量更改AD账户的属性

背景:
因为其他系统要调用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小知识。

你可能感兴趣的:(Powershell,Windows,Server,2012,R2,系统管理)