更新(08.07.2015):
结论:SharePoint会在代码中的其他位置过滤掉“UserAccountControl = 514”({if}?)(xxx.dll?)。我不知道为什么微软将这种行为从2007/2010改为2013年。
我可以改变这个???它是可配置的吗?
亲爱的StackOverFlow社区
我们拥有SharePoint 2013 SP1和CU 2014年9月。
问题:
自去年以来,我们正在过滤“AD导入”禁用用户。我们在Intranet环境中不需要它们。但现在我们正在构建一个协作平台。有些人需要授权残疾用户使用他们的工作区。 (网站集)
这个想法是,使用人员选择器来查找所有(启用和禁用)用户,这就是它。但我找不到任何有人选择器的残疾用户。
问题是:
为什么不起作用? (这应该是因为许多SharePoint管理员声称禁用用户超过人员选择器)
我尝试强制人员选择器使用(userAccountControl:1.2.840.113556.1.4.803:= 2)查找显式用户。 (我只设置过滤器而不是查询)
$ wa.PeoplePickerSettings.ActiveDirectoryCustomFilter = “(&amp;(objectCategory = person)(objectClass = user)(!(userAccountControl:1.2.840.113556.1.4.803:= 2))” < / p>
仍然没有找到任何已禁用的用户。即使是$ null值,如下所示:
PS C:\ Windows \ system32&gt; $ wa.PeoplePickerSettings
SearchActiveDirectoryDomains:{}
ActiveDirectoryCustomQuery:
ActiveDirectoryCustomFilter:
OnlySearchWithinSiteCollection:False
PeopleEditorOnlyResolveWithinSiteCollection:False
DistributionListSearchDomains:{}
ActiveDirectorySearchTimeout:00:00:
NoWindowsAccountsForNonWindowsAuthenticationMode:True
ServiceAccountDirectoryPaths:{}
ReferralChasingOption:无
ActiveDirectoryRestrictIsolatedNameLevel:False
AllowLocalAccount:True
ShowUserInfoListSuggestionsInClaimsMode:True
UpgradedPersistedProperties:{}
PS C:\ Windows \ system32&gt;
观察:
似乎可以找到位于网站集上“用户列表”中的用户(但仅限于电子邮件地址)。可能已在WebApplication上登录过一次的用户现在已被禁用。根据我的理解,人员选择器会:
我们仍然有一个2007环境,人们选择器找到任何已禁用的用户都没有问题。为什么SP2013会这么麻烦? 我甚至尝试在我们的测试实验室中导入每个用户(启用和禁用),以查明是否与AD导入中的LDAP过滤有关。但对这种情况没什么帮助。现在已导入已禁用的用户,但人员选择器仍然会找到任何已禁用的用户。
我试图找到有同样问题的人 - &gt; https://sharepoint.stackexchange.com/questions/80032/unable-to-get-disabled-ad-accounts-in-people-picker(这里没有解决方案......)
我在Technet上发布了同样的问题 - &gt; https://social.technet.microsoft.com/Forums/en-US/75272928-6370-4d8d-9b8f-ce5ec6642407/peoplepicker-cant-find-disabled-ad-users-514?forum=sharepointgeneral
我只是想知道如何在人员选择器中找到禁用的用户。这应该是正常情况。只要您不为其设置自定义过滤器,人员选择器就应该找到特定域中的每个用户帐户。但就我而言,事实并非如此。
我们只有一个域而不是多域环境。
答案 0 :(得分:1)
我与Microsoft支持部门联系。这种行为是“按设计”。所以只有一个解决方法:
迎接
SharePoint_Dude