-----提供AD\Exchange\Lync\Sharepoint\CRM\SC\O365等微软产品实施及外包,QQ:185426445.电话18666943750

由于组织机构比较大,分支机构的员工可能都不能相互认识,可以在GAL中除了显示联系人信息还可以显示他的照片。在Exchange server 2013里面导入图片有两种方式,一种是使用Import-RecipientDataProperty,但是对图片大小有限制,图片必须是 JPEG 格式的文件,且不得大于 10 KB;第二种是使用set-userphoto,可以配置允许用户将图片与其帐户关联的用户照片功能,用户的照片会出现在本地和基于云的客户端应用程序中,如 MicrosoftOutlook Web App、Lync、Skype for Business 和 SharePoint,而且支持高清图片。


下面讲解使用set-userphoto批量设置Exchange用户头像

technet参考语法如下:

链接:https://technet.microsoft.com/ZH-CN/library/jj218694(v=exchg.150).aspx

Set-UserPhoto "Paul Cannon" -PictureData ([System.IO.File]::ReadAllBytes("C:\Users\Administrator\Desktop\PaulCannon.jpg"))


方法1、使用csv导入

步骤1、新建人员信息CSV,在导入到Exchange,如下图,新建一列数值,取ad里的SamAccountName值,

Powershell管理系列(二十四)PowerShell操作之批量启用Exchange用户头像_第1张图片

步骤2、图片的值和csv的值保持一致,同时将图片和csv文件均复制到服务器的c:\photo

Powershell管理系列(二十四)PowerShell操作之批量启用Exchange用户头像_第2张图片

步骤3、使用如下命令批量导入图片,

Add-PSSnapin microsoft.exchange*

Import-Csv -path C:\photo\userphoto.csv -encoding default | %{Set-UserPhoto $_.sam -PictureData ([System.IO.File]::ReadAllBytes("C:\photo\"+$_.sam+".png") ) -Confirm:$false} 

Powershell管理系列(二十四)PowerShell操作之批量启用Exchange用户头像_第3张图片


方法2、直接查询ad账号,在批量导入图片,命令如下,test-path的目的是查询是否存在图片名同样名字的AD账号,

Get-User -Filter * -SearchBase "ou=contoso,dc=contoso,dc=com" `

|?{(test-path ("C:\photo\"+$_.SamAccountName+".png")) -and ($_.RecipientType -eq "usermailbox")} `

|%{Set-UserPhoto $_.SamAccountName -PictureData ([System.IO.File]::ReadAllBytes("C:\photo\"+$_.SamAccountName+".png") )  -Confirm:$false}

[图和命令不符,限于测试环境不存在了,不能在截图了,这里建议使用get-user,可以筛选具有邮箱属性的用户]

Powershell管理系列(二十四)PowerShell操作之批量启用Exchange用户头像_第4张图片

导入后的效果如下:

Powershell管理系列(二十四)PowerShell操作之批量启用Exchange用户头像_第5张图片

Powershell管理系列(二十四)PowerShell操作之批量启用Exchange用户头像_第6张图片




Powershell管理系列(二十四)PowerShell操作之批量启用Exchange用户头像_第7张图片