批量导出AD中用户头像

       月初的时候,有热心网友询问,如何将AD中的用户头像批量导出,我没有注意到,再想回复他发现已经过了5天的时限了。1

        用户头像其实对应的是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。2

        然后通过以下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)

    }

}

        脚本相对比较简单,就是定义输出属性、输出格式和输出路径。

3

        在运行完这个命令后,我们的头像就按照我们指定的文件名格式存放到目标目录下了。

4

        这辑教学就讲到这里。如有疑问可留言或消息小编。

       Exchange中文站10周年庆,全网首发Exchange2016中文视频教程促销中,喜欢的童鞋可进入“http://edu.exchangecn.com/course/12″购买。

 

李 章毅
发布于: 浏览:8581 次

还没有评论

This site uses Akismet to reduce spam. Learn how your comment data is processed.