Target Audiences在弹出的people picker中不显示Alias列有空的项目

【客户需求】

当编辑webpart时,

 

【分析】

首先这个“Distribution/Security Groups” 是来自AD中的Group,当user profile service同期后,会进入如下数据库表中。

尝试用LDAP进行filter,被证明这个办法对Group无效

 

 

 

 【解决办法】

 方法一:

在数据库里直接删除,但是不建议这样做,因为直接操作数据库会有风险。

 

方法二:

使用PowerShell删除没有mail地址的ad group项目

$url = "http://sp2016-3:36406"; 
$SPSite = get-spsite $url; 
$context = [Microsoft.SharePoint.SPServiceContext]::GetContext($SPSite) 
$manager = New-Object Microsoft.Office.Server.UserProfiles.UserProfileManager $context 
$sourceMethod = [Microsoft.Office.Server.UserProfiles.MemberGroup].getmethod("get_MailNickName") 
$deleteMethod = [Microsoft.Office.Server.UserProfiles.MemberGroup].getmethod("Delete") 
foreach ($memberGroup in $manager.GetMemberGroups()) 
{
	if ($sourceMethod.Invoke($memberGroup, @()) -eq "(null)") 
	{ 
	$deleteMethod.Invoke($memberGroup, @()) 
	} 
} 

  

 

posted @ 2018-04-23 17:05  jindahao  阅读(392)  评论(0编辑  收藏  举报