配置人员选取器 (SharePoint Foundation 2010)

 

适用于: SharePoint Foundation 2010

上一次修改主题: 2016-11-30

可以通过使用 Stsadm setproperty 操作为服务器场配置区域级别的人员选取器。通过配置该控件的设置,可以筛选和限制当用户搜索用户、组或声明时显示的结果。这些设置将应用于网站集中的每个网站。

本文中的信息仅适用于在经典模式或声明模式中使用 Windows 身份验证的 Web 应用程序。

当网站、列表或库所有者分配 Microsoft SharePoint Foundation 2010 中的权限时,可使用人员选取器控件查找和选择用户、组和声明。可以通过使用 Stsadm setproperty 操作为服务器场配置区域级别的人员选取器。通过配置该控件的设置,可以筛选和限制当用户搜索用户、组或声明时显示的结果。这些设置将应用于网站集中的每个网站。有关人员选取器属性的详细信息,请参阅 Peoplepicker:Stsadm 属性

备注

没有用于配置人员选取器的 Windows PowerShell 命令。

本文包含有关如何为特定方案配置人员选取器的信息。有关人员选取器控件及其工作方式,其与身份验证和声明提供程序的关系,以及规划人员选取器的方式的详细信息,请参阅人员选取器概述 (SharePoint Foundation 2010)

您必须先执行以下操作,然后才能执行本文中的过程:

  • 确保用来运行 Stsadm 的帐户是已安装 SharePoint Foundation 2010 的服务器上本地 Administrators 组的成员。

  • 以管理员身份打开命令提示符窗口以执行本文中的过程。

  • 在安装了 SharePoint Foundation 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 Foundation 2010 的林或域与其他林或域之间存在单向信任,则必须先为帐户设置可用于对要查询的林或域进行身份验证的凭据,然后才能使用 Stsadm peoplepicker-searchadforests 属性。

备注

必须在安装了 SharePoint Foundation 2010 的服务器场中的每个前端 Web 服务器上设置加密密钥。

若要设置加密密钥,请键入以下命令:

stsadm.exe -o setapppassword -password <密钥>

有关如何查询附加林或域的详细信息,请参阅您需了解的有关 SharePoint 中的人员选取器的所有内容(功能|配置|疑难解答)- 第 2 部分(该链接可能指向英文页面) (https://go.microsoft.com/fwlink/?linkid=207666&clcid=0x804)(该链接可能指向英文页面)。

在使用单向信任时启用跨林或跨域查询

如果安装了 SharePoint Foundation 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 操作。若要一次性设置多个 OU,请使用 Stsadm Peoplepicker-serviceaccountdirectorypaths 属性。

有关详细信息,请参阅 Setsiteuseraccountdirectorypath:Stsadm 操作 (https://technet.microsoft.com/zh-cn/library/cc263328(office.12).aspx)。

定义管理员帐户的位置

管理用户帐户通常位于与常规网站用户不同的 OU 中。如果您已使用 Stsadm setsiteuseraccountdirectorypath 操作强制人员选取器只从特定 OU 返回查询结果,则还必须设置 Stsadm peoplepicker-serviceaccountdirectorypaths 属性,以便管理员能管理网站集。

备注

peoplepicker-serviceaccountdirectorypaths 属性起作用之前,必须设置 Setsiteuseraccountdirectorypath 操作并包含一个值。

若要定义管理员帐户的位置,请键入以下命令:

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 Foundation 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)(该链接可能指向英文页面)。

下面的示例返回职务为“经理”的 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)。