月初的时候,有热心网友询问,如何将AD中的用户头像批量导出,我没有注意到,再想回复他发现已经过了5天的时限了。
用户头像其实对应的是AD中一个叫thumbnailphoto的属性,根据微软给的参数解释,这个属性可以存放100K大小的位图,也就是差不多96像素见方的图片。
cn: Picture ldapDisplayName: thumbnailPhoto attributeId: 2.16.840.1.113730.3.1.35 attributeSyntax: 2.5.5.10 omSyntax: 4 isSingleValued: TRUE schemaIdGuid: 8d3bca50-1d7e-11d0-a081-00aa006c33ed systemOnly: FALSE searchFlags: 0 rangeLower: 0 rangeUpper: 102400 attributeSecurityGuid: 77b5b886-944a-11d1-aebd-0000f80367c1
那从AD中导出这个属性也就是一堆100K以下的小图片,不要期望AD中导出的头像有多么清晰,这个属性如果开放到10M,AD的数据库就要扩大100倍(与图片相比,AD的其他数据值几乎可以忽略不计)。
言归正传,首先我们在目标目录下创建一个存放这堆小图片的目录,比如C:\Photos。
然后通过以下PS脚本将对象导出:
$list=GET–ADuser –filter * –properties thumbnailphoto
Foreach ($User in $list)
{
$Directory=‘C:\Photos\‘
If ($User.thumbnailphoto)
{
$Filename=$Directory+$User.samaccountname+‘.jpg‘
[System.Io.File]::WriteAllBytes($Filename, $User.Thumbnailphoto)
}
}
脚本相对比较简单,就是定义输出属性、输出格式和输出路径。
在运行完这个命令后,我们的头像就按照我们指定的文件名格式存放到目标目录下了。
这辑教学就讲到这里。如有疑问可留言或消息小编。
Exchange中文站10周年庆,全网首发Exchange2016中文视频教程促销中,喜欢的童鞋可进入“http://edu.exchangecn.com/course/12″购买。
- 混合云集成方案Azure Arc - 2020年3月28日
- 【全网首播:Azure大全】11. 开发人员工具与Azure Stack - 2020年2月22日
- 【全网首播:Azure大全】10. 安全性与标识 - 2020年2月22日
还没有评论