问题标签 [peoplepicker]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
537 浏览

javascript - SP2013 - 在自定义网站中显示人员选择器

我目前正在尝试这样做。我有一个网站,它从列表项的许多信息中非常定制地组合在一起,我将无法使用 SharePoint 提供的标准列表 Webpart。现在将有一列我想在列表中显示用户

是否可以创建一个字段,就像它出现在正常列表 Webpart 中一样,包括当前可用性状态等,而不必从头开始完全重建它?

如果有人有想法会很棒。提前感谢和

问候克里斯

0 投票
2 回答
2218 浏览

reactjs - SPFx 如何在列表中设置人员字段,例如“转换”AccountName 为查找 ID?

我正在尝试使用 React Office UI Fabric 构建一个 SPFX WebPart。我有一个 SharePoint 列表,其中包含一个名为 的人员字段AssignedTo。ID 值如 12、20 等。当我使用 PeoplePicker 选择一个人时,我得到一个AccountName类似i:0#.f|membership|bob@somewhere.org.nz的 GUID 和ff53b41e-d11a-435c-9cd1-d708e71ee7c7.

如何将 PeoplePicker 中的信息“转换”为 ID,列表中的 People 字段正在使用?

PeoplePicker 按如下方式检索人员:

我得到的列表项如下:

任何帮助深表感谢 :-)

0 投票
0 回答
110 浏览

javascript - 使用 O365 Javascript 人员选择器身份验证

我在尝试实现此处概述的示例时遇到了身份验证问题。

我的 Azure 应用程序设置已按照示例中的说明进行了修改,但我在某处遗漏了一些东西。

我的 asp.net 应用程序对用户服务器端进行身份验证(那里没有问题),但如果可能,我想使用身份验证结果作为人员选择器身份验证的基础(上面列出的示例尝试在页面的onload事件)。

异常详情

0 投票
1 回答
447 浏览

arrays - 从数组 PowerShell 脚本将随机用户名插入到 SharePoint 2013 列

我编写了脚本来为 PowerShell 中的自定义 SharePoint 列表创建 N 个项目。我让它使用固定值,但现在我想创建具有随机值的项目。
我创建了值数组的内部变量,我希望将这些变量设置在列表列中。
我让它适用于一些简单的列,如日期、单行和多行文本等。但我似乎无法让它适用于查找和人员选择器值。贝娄是我制作的脚本示例。对于此示例,我在 PowerShell 中没有收到错误我只是在列中得到不正确的结果,例如我在人员选择器列中获取用户名,该列不在值 userName 数组中。我得到 ID;#User8 (例如)不在数组中。

如果您有任何建议,我应该更改或添加什么以仅从数组中获取值?

0 投票
1 回答
800 浏览

sharepoint - 配置 PeoplePicker 以隐藏具有特定自定义属性的用户

SharePoint On Prem。2013. 目前,人员选择器配置为查看 DomainA、DomainB 和 DomainC 中的用户。没关系,但现在 DomainA 中的用户已作为集成活动的一部分添加到 DomainC。人员选择器现在显示 A 和 C 中用户的重复项。我不想隐藏域 C 中的所有用户。我只想隐藏域 C 中已经在 A 中的那些用户。

我向域 C 中的测试用户添加了一个自定义属性,并将其映射到用户配置文件服务中的“someattribute”。我用文本“sometext”为我的测试用户填充了自定义属性

然后,我使用 LDAP 查询配置了人员选择器:

stsadm -o setproperty -pn peoplepicker-searchadcustomfilter -pv "(&(objectCategory=user)(!someattribute=sometext))" -url http://mywebapp

不幸的是,不是使用自定义属性集隐藏域 C 中的用户,而是始终显示域 C 中的用户,并隐藏域 A 中的重复用户。

这里专家的任何帮助表示赞赏。如果有比这样做更好的方法,请告诉我。

0 投票
1 回答
1718 浏览

cross-domain - Sharepoint peoplepicker 无法从受信任域中找到用户

我有一个问题在没有可行的解决方案的情况下耗费了我很长时间。我没有使用 Sharepoint 的经验,而且我可能做得过火了,如果解决方案比我预期的简单得多,我不会感到惊讶。

场景如下:

1) 我们在客户端 (A) 上安装了 SharePoint。客户端 (A) 环境由测试生产环境组成。生产环境为每个 WFE 和 BEDS 提供单独的服务器。测试环境由单个服务器中的 WFE 和 BEDS 组成。两个环境都在同一个域中。

2) Sharepoint 版本是 2013。

3)客户端(A)与客户端(B)域建立双向信任关系。

问题:生产 Sharepoint PeoplePicker 可以成功地从域 (B) 中抓取用户,而无需在 PeoplePicker 上进行任何配置。但是,测试 Sharepoint PeoplePicker 无法获取域 (B) 受信任用户。并因“找不到完全匹配”错误而失败。

我在测试环境(WFE 和 BEDS 位于同一位置)上尝试了以下解决方案来定位问题:

1- 检查所有 PeoplePicker 相关属性(Peoplepicker-searchadcustomquery、Peoplepicker-onlysearchwithinsitecollection、Peoplepicker-searchadforests、setsiteuseraccountdirectorypath 等),什么都没有。此外,我在两种环境(生产和测试)上运行人员选择器端口测试器来比较任何防火墙配置差异,即使某些端口在抱怨并且 UDP 端口(445,135)之间存在差异,但我认为这不是 Wireshark 的问题后面的步骤 (3) 将说明为什么这是不可能的。从我在互联网上阅读的内容来看,我必须在两种方式的信任方案中为人员选择器配置任何内容,仍然尝试进行一种方式的信任配置,没有任何效果并且我恢复了更改。

PeoplePicker 端口测试器运行结果

2- 将 Sharepoint 配置为详细日志记录(所有组件,因为我不知道哪个组件负责 PeoplePicker)收集日志并搜索查询用户的日志。没有有用的信息,从 ULS 查看器中附加了一个屏幕截图,用户被屏蔽了。

共享点日志

3- 收集 Wireshark 流量转储并由 LDAP 过滤。我可以清楚地知道 LDAP 响应包含来自受信任的查询用户以及所有用户属性和域名。这就是为什么我排除了任何人员选择器过滤原因、域搜索限制或网络端口问题。附上截图。

Wireshark 跟踪

4- 排除网络问题后(因为 LDAP 查询成功返回到 WFE),我决定先看看 Sharepoint 内部的流程如何,然后再在 PeoplePicker 中显示结果。如果从 Microsoft 找到这篇描述 PeoplePicker 工作流程的文章。从下图中,我可以得出结论,LDAP 请求成功通过了步骤 1,2 和 3。我需要检查从 4 到 11 的步骤,这些步骤是 MS-WSSFO 协议握手。我阅读了该协议,发现它由一组从 WFE 到 BEDS 的存储过程调用组成。我尝试通过使用 SQL Server Profile 并搜索 (proc_GetTpWebMetadataAndListMetadata) & (proc_GetListMetadataAndEventReceivers) 存储过程来调试协议,但没有找到。

人员选择流程

5- 我的一个朋友建议配置与受信任域(域 B)活动目录的 UPSA(用户配置文件服务应用程序)连接,我授予 Sharepoint 服务用户对(域 B)活动目录所需的权限,配置连接并测试同步正如我从同步服务管理器中看到的那样,它确实加载了用户,但是,PeoplePicker 仍然失败。但是,我认为这一步是不必要的,因为据我所知,PeoplePicker 和 UPS 并不相关,而且生产 Sharepoint PeoplePicker 在不配置 UPSA 的情况下工作正常。请问有什么帮助吗?

0 投票
2 回答
1535 浏览

string - 将人员选取器转换为字符串时,SharePoint 名称显示为 i:0#domain\username

我有一个工作流程,可以将 People Picker 列的字符串版本复制到另一列

Name = 人员选择器列 NameString = 人员选择器列的副本作为字符串

工作流程:将 NameString 设置为当前项:名称

它工作了几个月,但突然之间它开始将一些 NamesStrings 设置为 i:0#domain\username。我找不到任何模式来解释为什么它会做一些而不是其他一些,以及为什么它首先会这样做。其他人遇到过这个问题吗?

0 投票
0 回答
994 浏览

typescript - 使用 PropertyFieldPeoplePicker(打字稿)的 Sharepoint 人员选择器

我最近偶然发现了一个应该很简单的共享点问题,我只是无法让它工作:(。

在这里的代码中,我有一个简单的搜索框,没什么特别的

在搜索框下,我想根据https://sharepoint.github.io/sp-dev-fx-property-controls/controls/PropertyFieldPeoplePicker/添加一个人员选择器(与搜索框无关)

这实质上意味着:添加这几行圆锥

根据上面的链接,我必须使用它来使用人员选择器。

但无论我做什么,我都无法在我的搜索框下方添加人员选择器

谁能告诉我它是怎么做的?非常感谢您提前!

我已经完成了入门部分,但我无法让人员选择器选项卡显示,我什至无法编译:/

0 投票
1 回答
454 浏览

jquery - 在 SharePoint 人员选择器字段中为每个用户获取经理

我正在尝试检查人员选择器字段中所有用户的经理是否相同。

这仅适用于第一个用户。

0 投票
0 回答
205 浏览

javascript - 使用 jquery getscript 加载 Sharepoint 2013 资源 - 测试资源已加载

我想使用 jquery 的 getScript 函数来加载一些 sharepoint 2013 脚本资源文件。特别是与“人员选择器”相关的那些

  • 自动填充.js
  • 客户端peoplepicker.js
  • 客户端表单.js

每次用户单击自定义“添加人员”按钮时都将执行此操作。有没有办法测试这些脚本是否已经加载?