批量为LYNC用户添加头像 推荐
2010-12-08 23:25
225 查看
LYNC 客户端现在做得更加人性化了,其中一点就是用户可以使用头像来彰显个性。这个功能大家都比较喜欢,头像可以用户自己添加,但是要用网络路径,所以用户可能不会添加。所以由管理员来添加是最方便的。今天我们来看看怎么批量的为用户添加头像。
我们先登录看看。
默认的图像,光秃秃的。很是不好看。不过通过以前的帖子,我们还知道这个图像的原型是微软的创始人盖茨先生,还是先拜一个!
开始吧!
我们要实现准备好一些照片,照片不要超过大小不要超过30KB,所以尺寸也要控制好,一般就96X96就差不多了,太大了没有意义,因为这些照片是存在AD内的,所以如果太大的话,会导致AD的数据库增大,从而影响复制。
照片就采用姓名来命名就好了,因为我们的脚本一会会读取到这个名字,然后用这个名字去搜索AD。
大家可以看我的实例,我AD里面的用户名字是张三,那么照片也是张三。
AD里面用户的名称为张三,而AD属性里面对应名称字段的值为name,要以这个为准。因为我们一会脚本搜索的属性也是这个name属性。
照片就非常简单了,用户的名字为文件名。
AD里面存照片对应的值为thumbnailPhoto,我们利用adsiedit.msc看看现在的值为空。
脚本内容:
红色地方为关键,主要是第一个为照片所存放的文件夹。第二个标为红色是告诉大家,我们查询的是name属性。
双击执行,然后先不要急着去登录用户,先去看看用户的值改变了没有。
我们看到张三这个用户的thumbnailphoto已经有值了。我们再登录看看。
头像已经出来了。
这里也看到了我们定义给用户图像。
过程就这么简单,如果你有多用户,就批量的把照片弄到文件夹里,然后双击脚本执行吧。 前提条件是这些用户必须要存在于AD内,不然脚本是要报错的。
如果大家想了解脚本具体的含义,欢迎向我提问。
我们先登录看看。
默认的图像,光秃秃的。很是不好看。不过通过以前的帖子,我们还知道这个图像的原型是微软的创始人盖茨先生,还是先拜一个!
开始吧!
我们要实现准备好一些照片,照片不要超过大小不要超过30KB,所以尺寸也要控制好,一般就96X96就差不多了,太大了没有意义,因为这些照片是存在AD内的,所以如果太大的话,会导致AD的数据库增大,从而影响复制。
照片就采用姓名来命名就好了,因为我们的脚本一会会读取到这个名字,然后用这个名字去搜索AD。
大家可以看我的实例,我AD里面的用户名字是张三,那么照片也是张三。
AD里面用户的名称为张三,而AD属性里面对应名称字段的值为name,要以这个为准。因为我们一会脚本搜索的属性也是这个name属性。
照片就非常简单了,用户的名字为文件名。
AD里面存照片对应的值为thumbnailPhoto,我们利用adsiedit.msc看看现在的值为空。
脚本内容:
红色地方为关键,主要是第一个为照片所存放的文件夹。第二个标为红色是告诉大家,我们查询的是name属性。
Const ForReading = 1 '图片存的目录 InDir = "C:\photo" Set fso = CreateObject("Scripting.FileSystemObject") set oIADS = GetObject("LDAP://RootDSE") strDefaultNC = oIADS.Get("defaultnamingcontext") Set theConn = CreateObject("ADODB.Connection") theConn.Provider = "ADsDSOObject" theConn.Open "ADs Provider" Set theCmd = CreateObject("ADODB.Command") theCmd.ActiveConnection = theConn Set objRecordSet = CreateObject("ADODB.Recordset") For Each tFile In fso.GetFolder(InDir).Files tName = tFile.Name tName = Left(tName, InStrRev(tName,".")-1) strQuery = "<LDAP://" & strDefaultNC & ">;" & "(&(objectClass=person)(name=" & tName & "));name,adspath;subtree" theCmd.CommandText = strQuery Set objRS = theCmd.Execute If objRS.RecordCount = 0 Then MsgBox "Can't find account for " & tName Else Set objUser = GetObject(objRS("adspath")) ObjUser.Put "thumbnailPhoto", ReadByteArray(tFile.Path) ObjUser.SetInfo End If Next Function ReadByteArray(strFileName) Const adTypeBinary = 1 Dim bin Set bin = CreateObject("ADODB.Stream") bin.Type = adTypeBinary bin.Open bin.LoadFromFile strFileName ReadByteArray = bin.Read End Function |
我们看到张三这个用户的thumbnailphoto已经有值了。我们再登录看看。
头像已经出来了。
这里也看到了我们定义给用户图像。
过程就这么简单,如果你有多用户,就批量的把照片弄到文件夹里,然后双击脚本执行吧。 前提条件是这些用户必须要存在于AD内,不然脚本是要报错的。
如果大家想了解脚本具体的含义,欢迎向我提问。
相关文章推荐
- 利用脚本批量添加域用户账户 推荐
- 让MOSS 2010的用户照片成为用户的LYNC头像 推荐
- Exchange 2003 实战5- 批量添加用户 推荐
- Lync 2010 批量添加分组和用户(LyncAddContacts)
- shell 批量添加用户健壮版 推荐
- 利用CSVDE命令实现域用户账户的批量添加示例 推荐
- 关于批量添加用户和域用户
- HOW TO:批量添加域用户
- 利用shell实现批量添加用户
- 批量导入LYNC 2010企业版用户的联系人
- 初学Html5+CSS之表格添加用户+删除用户+修改数据+删除全部+批量删除+查询数据+内容判断
- 批量添加域用户,并将用户添加到指定组。
- 批量添加samba用户
- 利用CSVDE命令实现域用户账户的批量添加示例
- Linux下批量添加用户的两种方法
- 批量添加用户shell脚本详解
- linux用户管理之批量添加用户且ftp登陆-nologin
- linux批量添加、删除用户
- Linux下批量添加samba用户和系统用户
- shell脚本批量添加用户