配置人员选取器 (SharePoint Server 2010)
适用于: SharePoint Foundation 2010, SharePoint Server 2010
上一次修改主题: 2016-11-30
人员选取器通过 Stsadm setproperty 操作在服务器场的区域级别进行配置。通过配置该控件的设置,您可以筛选和限制在用户搜索用户、组或声明时显示的结果。这些设置适用于网站集中的每个网站。
本文中的信息仅适用于使用经典模式或声明模式的 Windows 身份验证的 Web 应用程序。
当网站、列表或库所有者在 Microsoft SharePoint Server 2010 中分配权限时,可以使用人员选取器控件来查找及选择用户、组和声明。人员选取器通过 Stsadm setproperty 操作在服务器场的区域级别进行配置。通过配置该控件的设置,您可以筛选和限制在用户搜索用户、组或声明时显示的结果。这些设置适用于网站集中的每个网站。有关人员选取器属性的详细信息,请参阅 Peoplepicker:Stsadm 属性。
备注
没有用于配置人员选取器的 Windows PowerShell 命令。
本文包含有关如何为特定方案配置人员选取器的信息。有关人员选取器控件及其工作原理,人员选取器与身份验证和声明提供程序的关系,以及如何规划人员选取器的详细信息,请参阅人员选取器概述 (SharePoint Server 2010)。
您必须先完成以下任务,才能执行本文中的过程:
确认用于运行 Stsadm 的帐户是安装 SharePoint Server 2010 的服务器上本地 Administrators 组的成员。
以管理员身份打开命令提示符窗口,以便执行本文中的过程。
在安装 SharePoint Server 2010 的驱动程序上的命令提示符处,转到以下目录:%COMMONPROGRAMFILES%\Microsoft shared\Web server extensions\14\Bin。
本文内容:
检查任何属性的设置值
清除人员选取器的属性值
设置用于单向信任的加密密钥
使用单向信任时启用跨林或跨域查询
将人员选取器限制为针对 Active Directory 中的特定组
定义管理员帐户的位置
强制人员选取器只从网站集用户中选取
使用 LDAP 查询筛选 Active Directory 帐户
仅返回非 Active Directory 用户帐户
检查任何属性的设置值
若要检查任何人员选取器属性的设置,请键入以下命令:
stsadm.exe -o getproperty -pn <属性名称> -url <Web 应用程序 URL>
有关详细信息,请参阅 Peoplepicker:Stsadm 属性 (https://technet.microsoft.com/zh-cn/library/cc263318(office.12).aspx)。
清除人员选取器的属性值
您可以通过指定要清除的属性名称,然后对属性值使用空引号,来删除人员选取器的属性设置。
若要删除人员选取器的属性设置,请键入以下命令:
stsadm.exe -o setproperty -pn <属性名称> -pv "" -url <Web 应用程序 URL>
有关详细信息,请参阅 Peoplepicker-searchadforests:Stsadm 属性 (https://technet.microsoft.com/zh-cn/library/cc263460(office.12).aspx)。
设置用于单向信任的加密密钥
如果安装 SharePoint Server 2010 的林或域与其他林或域之间是单向信任,则必须先设置帐户的凭据,该帐户可以向要查询的林或域进行身份验证,然后再使用 Stsadm peoplepicker-searchadforests 属性。
备注
必须在安装 SharePoint Server 2010 的服务器场中的每台前端 Web 服务器上设置加密密钥。
若要设置加密密钥,请键入以下命令:
stsadm.exe -o setapppassword -password <密钥>
有关查询其他林或域的详细信息,请参阅全面了解 SharePoint 中的人员选取器(功能 | 配置 | 疑难解答)(第 2 部分)(该链接可能指向英文页面) (https://go.microsoft.com/fwlink/?linkid=207666&clcid=0x804)(该链接可能指向英文页面)。
使用单向信任时启用跨林或跨域查询
如果安装 SharePoint Server 2010 的林或域与其他林或域之间是单向信任,则必须指定用于查询林或域的凭据,以及要查询的林或域的名称。人员选取器只能查询您在 peoplepicker-searchadforests 属性设置中指定的林或域。
若要指定要查询的林或域以及凭据,请键入以下命令:
stsadm.exe -o setproperty -pn peoplepicker-searchadforests -pv <林或域、登录名、密码的有效列表> -url <Web 应用程序 URL>
备注
在使用 peoplepicker-searchadforests 属性时,不需要包括分配给帐户的加密密钥密码。不过,如果尚未对帐户设置加密密钥,则会显示一条错误消息。
以下示例将人员选取器配置为用于名为 Contoso.com 的林和名为 Fabrikam.com 的域,并包括林和域的凭据:
STSADM.exe -o setproperty -pn peoplepicker-searchadforests -pv "forest:Contoso.com,Contoso\User1,Password1; domain:Fabrikam.com,Fabrikam\User2,Password2" -url https://ServerName
有关详细信息,请参阅 Peoplepicker-searchadforests:Stsadm 属性 (https://technet.microsoft.com/zh-cn/library/cc263460(office.12).aspx)。
将人员选取器限制为针对 Active Directory 中的特定组
如果 Web 应用程序使用的是 Windows 身份验证,但未设置网站用户目录路径,则人员选取器控件会搜索整个 Active Directory 来解析用户的名称或查找用户,而不是仅搜索特定组织单位 (OU) 中的用户。利用 Stsadm setsiteuseraccountdirectorypath 操作,可以将用户的目录路径设置为同一域中的特定 OU。在将目录路径设置为某网站集后,人员选取器控件将仅在该特定 OU 下搜索。
若要将人员选取器限制为针对 Active Directory 中的特定 OU,请键入以下命令:
stsadm -o setsiteuseraccountdirectorypath -path <有效的 OU 名称> –url <Web 应用程序 URL>
以下示例将人员选取器配置为仅返回名为“Sales”的 OU 中的用户和组:
stsadm -o setsiteuseraccountdirectorypath -path "OU=Sales,DC=ContosoCorp,DC=local" -url https://ServerName
备注
一次只能为网站集设置一个网站用户目录路径。由于该属性一次仅指定一个 OU,因此只能对每个网站集运行一次 Stsadm setsiteuseraccountdirectorypath 操作。
有关详细信息,请参阅 Setsiteuseraccountdirectorypath:Stsadm 操作 (https://technet.microsoft.com/zh-cn/library/cc263328(office.12).aspx)。
定义管理员帐户的位置
管理用户帐户通常位于与普通网站用户不同的 OU 中。如果已使用 Stsadm setsiteuseraccountdirectorypath 操作强制人员选取器只从特定 OU 中返回查询结果,则同时必须设置 Stsadm peoplepicker-serviceaccountdirectorypaths 属性,这样管理员才能管理该网站集。
备注
必须先设置 Setsiteuseraccountdirectorypath 操作,并使其包含一个值,peoplepicker-serviceaccountdirectorypaths 属性才起作用。
若要定义管理员帐户的位置,请键入以下命令:
Stsadm -o setproperty -pn peoplepicker-serviceaccountdirectorypaths -pv <OU 名称列表> -url <Web 应用程序 URL>
以下示例将人员选取器配置为允许 OU“FarmAdmin”中的用户:
stsadm -o setproperty -pn peoplepicker-serviceaccountdirectorypaths -pv "OU=FarmAdmin,DC=Contoso,DC=local" -url https://ServerName
有关详细信息,请参阅 Peoplepicker-serviceaccountdirectorypaths:Stsadm 属性 (https://technet.microsoft.com/zh-cn/library/cc263012(office.12).aspx)。
强制人员选取器只从网站集用户中选取
人员选取器控件由一个文本框和两个按钮组成:“检查名称”按钮和“浏览”按钮。“检查名称”按钮用于完全按照键入文本框的内容形式解析用户名、组名或电子邮件地址。“浏览”按钮用于打开“选择人员和组”对话框,该对话框可用于提交对完整或部分字符串的查询。这二者的重要区别是:“检查名称”按钮只完全按照文本框中的内容进行解析,而“选择人员和组”对话框用于搜索查询字符串。您可以通过使用 PeoplePicker-Peopleeditoronlyresolvewithinsitecollection 属性或 PeoplePicker-Onlysearchwithinsitecollection 属性强制人员选取器只返回网站集中有权限的用户。不过,用于配置该限制的属性取决于是要对文本框(人员编辑器)和“检查名称”按钮设置限制,还是要对“选择人员和组”对话框设置限制。
若要在单击“检查名称”按钮后,强制人员选取器只返回在网站集中有权限的用户,请键入以下命令:
stsadm -o setproperty –pn peoplepicker-Peopleeditoronlyresolvewithinsitecollection –pv yes –url <Web 应用程序 URL>
若要在使用“选择人员和组”对话框时,强制人员选取器只返回在网站集中有权限的用户,请键入以下命令:
stsadm -o setproperty –pn peoplepicker-onlysearchwithinsitecollection –pv yes –url <Web 应用程序 URL>
有关详细信息,请参阅 Peoplepicker-onlysearchwithinsitecollection:Stsadm 属性 (https://technet.microsoft.com/zh-cn/library/cc261988(office.12).aspx) 和 Peoplepicker-peopleeditoronlyresolvewithinsitecollection:Stsadm 属性 (SharePoint Server 2010)。
使用 LDAP 查询筛选 Active Directory 帐户
您可以使用轻型目录访问协议 (LDAP) 查询创建自定义筛选器,以便显示查询结果。有关 LDAP 查询的详细信息,请参阅 LDAP 查询基础知识(该链接可能指向英文页面) (https://go.microsoft.com/fwlink/?linkid=207670&clcid=0x804)(该链接可能指向英文页面)。
若要使用自定义 LDAP 查询,请键入以下命令:
Stsadm –o setproperty –pn peoplepicker-searchadcustomfilter -pv <LDAP 查询筛选器> -url <Web 应用程序 URL>
以下示例用于筛选没有电子邮件地址的用户帐户或已禁用的用户帐户。由于安全组并非总是有与之关联的电子邮件地址,因此可使用 OR 语句确保安全组仍然包括在查询结果中:
stsadm -o setproperty -pn peoplepicker-searchadcustomfilter -pv "(|(&(mail=*)(!(userAccountControl:1.2.840.113556.1.4.803:=2)))(objectcategory=group))" -url https://ServerName
以下示例仅返回活动用户,而不返回组:
stsadm -o setproperty -pn peoplepicker-searchadcustomfilter -pv "(&(objectCategory=person)(objectClass=user)(!userAccountControl:1.2.840.113556.1.4.803:=2))" -url https://ServerName
有关此查询中使用的用户帐户控制字符串的说明,请参阅搜索筛选器语法(该链接可能指向英文页面) (https://go.microsoft.com/fwlink/?linkid=210020&clcid=0x804)(该链接可能指向英文页面)。
以下示例返回职务为“Manager”的 Active Directory 用户列表:
stsadm -o setproperty -pn peoplepicker-searchadcustomfilter -pv "((Title=Manager))" -url https://ServerName
重要
记住,每次对特定属性运行 setproperty 命令时,该属性的当前值都会被指定的新值覆盖。如果需要基于多个条件筛选查询结果,则需要构建复合 LDAP 查询,它将包括要筛选的所有值。
有关详细信息,请参阅 Peoplepicker-searchadcustomfilter:Stsadm 属性 (https://technet.microsoft.com/zh-cn/library/cc263452(office.12).aspx)。
仅返回非 Active Directory 用户帐户
如果 Web 应用程序使用基于表单的身份验证,则可以防止人员选取器在查询结果中返回 Active Directory 帐户。
若要仅返回非 Active Directory 用户帐户,请键入以下命令:
stsadm -o setproperty -pn peoplepicker-nowindowsaccountsfornonwindowsauthenticationmode -pv yes -url <Web 应用程序 URL>
有关详细信息,请参阅 Peoplepicker-nowindowsaccountsfornonwindowsauthenticationmode:Stsadm 属性 (https://technet.microsoft.com/zh-cn/library/cc263264(office.12).aspx)。