首先需要明确告诉大家这个限制操作,不管你用的是Lync2010还是Lync2013,还是通过注册表组策略什么的都是无法实现的。因为微软告诉过这个是为了保证用户的隐私。

但是作为一个霸道的系统管理员是不允许用户这么任性的,那么我们应该怎么实现呢?

首先大家喜欢的话可以去访问这个链接去看一看国外的IT人员是怎么实现的:

https://social.technet.microsoft.com/Forums/lync/en-US/23780cad-a365-4e88-a667-57f22558b60a/how-do-i-enforce-show-my-picture-instead-of-hide-my-picture-in-lync-server-2013?forum=lyncdeploy

如果不喜欢英文可以看我的写的脚本(我附在了附件当中),删减了一些不必要的操作并做了一些中文的显示输出。

我大概说一下脚本的原理:

在Lync2010时代其实这个要求已经有人可以实现了,当时是基于Dbimpexp.exe工具,这个工具我在以前的博客里介绍过是导出导入Lync2010联系人用的(http://lixiaosong.blog.51cto.com/705126/1576600)。基本原理就是将用户数据导出来,通过判断用户的头像显示条件是“True”还是“false”,如果是”False”就将其改为“True”,然后再导入用户数据库里。通过这样强制将用户的数据库属性更改进一步强制用户显示头像。

但是到了Lync2013时代Dbimpexp.exe工具已经没有了,并且导出来的XML文件Lync2013已经识别不了(它识别的是ZIP格式),代替的是新的Lync2013 Powershell工具update-csuserdata和export-Csuserdata,那么好的既然已经有了Lync2010的现成脚本,我们有没有什么数据转换工具呢?答案是有这个我也在上述博客里介绍过就是Convert-csuserdata工具。所以我们在处理Lync2013的头像过程中只需要增加转换的代码,就可以直接借用Lync2010 头像控制脚本的的大部分功能了(老外还是很聪明哈)。

接下来介绍一下脚本的使用:

1首先设置隐藏我的图片也就是头像。

2 接下来执行脚本,在截图中我们发现脚本已经重置了Lixs@ourgame.com这个账户。

3 重新登录Lync,照片已经强制显示。

4 如果要长期检测需要设置计划任务长期执行这个脚本。

5 到这里大家是不是发现了一个问题。如果没有用户隐藏头像这个脚本也还在进行,那么不断进行导出导入数据库岂不是浪费资源。那么我们运行一下脚本。

大家发现脚本没有检测到用户头像隐藏,转换和导入操作已经不再执行了,这已经为系统节省了资源。

 

 特别提示:

脚本有两个地方需要更改,1 需要创建C:\Lync2013Scripts\Export这个目录自定义的话需要在脚本更新这个目录。2 是需要将脚本里的前端池的FQDN改成你自己的