Powershell管理系列(二十四)PowerShell操作之批量启用Exchange用户头像

简介:

由于组织机构比较大,分支机构的员工可能都不能相互认识,可以在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值,

wKioL1ZGBcuCTq81AADO-l5u7F8133.png

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

wKiom1ZGBYCheV0BAAB8KYHNBcs758.png

步骤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} 

wKiom1ZGCvKCisEKAAG8qWSAS1k789.png


方法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,可以筛选具有邮箱属性的用户]

wKioL1ZGCFLCXBnmAAFNXPuM3kg080.png

导入后的效果如下:

wKiom1ZGCK3RRDi9AACpD3BUIQ8107.png

wKiom1ZGCK7RHmetAACmSxRVM7U387.png




wKioL1ZGCJ2SHgpzAACl39k6s60870.png







本文转自 zhou_ping 51CTO博客,原文链接:http://blog.51cto.com/yuntcloud/1712651,如需转载请自行联系原作者


相关文章
|
弹性计算 关系型数据库 数据库
使用ROS部署ECS+SqlServer资源并通过PowerShell操作数据库
本文介绍如何通过ROS部署ECS+RDS+SqlServer资源,以及如何通过PowerShell操作SqlServer数据库。 注意:附录模板和截图中的commandtext部分仅为演示作用,请根据需求修改后使用。
112 0
使用ROS部署ECS+SqlServer资源并通过PowerShell操作数据库