【问题症状】
当天创建了大量AD用户并创建了对应的Lync账号,但是第二天无论是旧用户或者新建的用户,其Lync客户端无法模糊搜索到部分用户,但通过Lync账号地址可以搜索到,或删除本地地址簿文件后可以模糊搜索到。
【分析过程】
服务器地址簿生成原理:
1 活动目录 → 2 rtcab.dbo.AbUserEntry → 3 rtcab.dbo.AbAttributeValue → 4 地址薄Web查询
↓
5 服务器端地址薄文件(.lsabs .dabs)→ 6 客户端地址薄文件(GalContacts.db)
客户端地址簿下载过程:
- 客户端第一次登录连接URL下载时,下载当前的Full data文件;
- 在后续的登录过程中,客户端将尝试下载增量文件。Lync会根据上次同步后的时间来决定下载哪个Delta增量文件以将本地地址簿文件更新为最新,举例:如果Lync自周五下午至周一上午脱机,周一上午登录时,客户端将下载包含这3天变化的Delta增量文件并同步到本地地址簿文件中;但如果客户端已经超出30天没有登录,客户端将下载最新的Full地址簿文件。
分析并解决本次问题:
- 可以通过全名称搜索到用户,推断Web查询地址簿是全新的,即Lync与AD的同步没有问题;
- 客户端删除离线地址簿文件后,下载Full地址簿文件可以正常搜索到用户,推断服务器的全地址簿文件是全新的,无异常;
- 分析客户端地址簿文件,可以看到地址簿文件更新时间为创建账号当天,推断客户端在下载Delta文件时失败导致更新失败;
- 查看服务器共享目录下的文件,可以看到该目录下没有Dealta文件,只有Full文件,故客户端找不到该文件,不能进行同步更新;
- 确认为Lync服务器端地址簿配置问题,当Delta文件大于Full文件的20%时,不生成Delta文件,故将其整为100%。
Before:
After:
参数解释:MaxDeltaFileSizePercentage
When changes are made to Active Directory (such as a new user being enabled for Skype for Business Server), the Address Book server typically records these changes in a "delta file," a file consisting only of the updated information; Skype for Business Server can then download the delta files rather than a complete Address Book file. The MaxDeltaFileSizePercentage property determines how large the delta files can get before they are incorporated into the complete Address Book file. By default, delta files can be as large as 20 percent of the complete Address Book file before a new Address Book file is generated. At that point, clients will download the complete file rather than a delta file.
- 同步配置,并等待同步完成后,强制更新Address book,查看Delta文件已正常生成。
Invoke-CsManagementStoreReplication
Get-CsManagementStoreReplicationStatus
Update-CsUserDatabase
Update-CsAddressBook
【问题扩展】
当天创建了账号,之后Lync服务器在第二天凌晨进行脱机地址簿的更新,但是新建用户在第二天第一次登录Lync时应该下载的是全地址簿文件,为什么仍不能搜索到部分用户?
- 到LyncShare 共享目录下,找到全量通讯簿文件,然后复制到某一Lync前端服务器的本地硬盘路径。
- 然后以管理员身份运行命令行提示符,输入D:\Program Files\Skype for Business 2015\Server\Core\ABserver.exe –dumpfile D:\temp\通讯簿文件名称,然后在相同目录下会产生一个.txt 文件。
- 按照以上方法得到的脱机地址簿文件中并没有某些新建用户的信息,说明这些账号属性在修改后的第二天凌晨未同步到AD中,等待同步后,在服务器再次更新地址簿文件后,问题解决。