SharePoint 2013测试环境PeoplePicker无法检索信任域用户求助
各位SharePoint大佬好!我完全没SharePoint经验,这个问题折腾了好久都没搞定,可能我把问题想复杂了,说不定有简单的思路没摸到,恳请帮忙分析!
环境背景
- 客户A部署了SharePoint 2013,分测试和生产两个环境:
- 生产环境:WFE和BEDS是独立的两台服务器
- 测试环境:WFE和BEDS装在同一台服务器上
- 所有环境都在客户A的域内,而且客户A和客户B的域已经建立了双向信任关系
- 奇怪的是,生产环境的PeoplePicker啥配置都没做,就能正常搜到域B的用户,但测试环境搜的时候一直提示
Cannot find exact match,完全搜不到信任域的用户
我已经试过的所有排查步骤(都没用)
- PeoplePicker属性&网络端口检查
- 把能想到的PeoplePicker相关属性都查了:
Peoplepicker-searchadcustomquery、Peoplepicker-onlysearchwithinsitecollection、Peoplepicker-searchadforests、setsiteuseraccountdirectorypath,没发现异常配置 - 用PeoplePicker端口测试工具对比了生产和测试的防火墙配置,虽然UDP 445、135端口有差异还告警,但后来用Wireshark确认后,已经排除了端口的问题
- 本来双向信任应该不用配置PeoplePicker,但还是试着按单向信任的方式配置了一遍,没用之后已经回滚了配置
- 把能想到的PeoplePicker相关属性都查了:
- 详细日志排查
- 给SharePoint开了全组件的详细日志,收集完后搜用户查询相关的内容,啥有效信息都没找到(已经附了ULS Viewer的截图,用户信息都掩码处理了)
- Wireshark抓包分析
- 抓了流量然后按LDAP过滤,能看到LDAP的响应里明明包含了我要找的域B用户,还有所有属性和域名,这说明PeoplePicker过滤、域搜索限制、网络端口这些问题都可以排除了(也附了截图)
- SQL存储过程跟踪
- 查了微软的文档,了解了PeoplePicker的工作流程,判断LDAP请求的步骤1-3都没问题,接下来要查WFE和BEDS之间的MS-WSSFO协议交互,涉及
proc_GetTpWebMetadataAndListMetadata和proc_GetListMetadataAndEventReceivers这两个存储过程 - 用SQL Server Profile跟踪这两个存储过程,结果完全没找到相关的调用记录
- 查了微软的文档,了解了PeoplePicker的工作流程,判断LDAP请求的步骤1-3都没问题,接下来要查WFE和BEDS之间的MS-WSSFO协议交互,涉及
- 尝试配置UPSA
- 朋友建议我配置User Profile Service Application(UPSA)连接到域B的AD,我给SharePoint的服务用户加了域B AD需要的权限,配置完同步后,同步服务管理器显示已经加载了用户,但PeoplePicker还是搜不到
- 其实我觉得这步没必要,因为PeoplePicker和UPS应该没关系啊,而且生产环境根本没配UPSA也能正常用
求帮忙的点
有没有大佬能指点一下,我是不是漏了什么简单的排查点?或者有没有可能是测试环境WFE和BEDS共存导致的什么特殊问题?麻烦给点思路或者解决方案吧!
内容的提问来源于stack exchange,提问作者Mohammed Elrasheed Osman
相关产品推荐
相关产品推荐

