为 SharePoint Server 创建访问群体

适用于:yes-img-132013 yes-img-162016 yes-img-192019 yes-img-seSubscription Edition no-img-sopSharePoint in Microsoft 365

了解如何使用 Microsoft PowerShell 脚本来创建访问群体。

使用 Microsoft PowerShell 脚本创建访问群体

  1. 确认满足以下最低要求:
  1. 复制以下变量声明并粘贴到文本编辑器(如记事本)中。 设置特定于您的组织的输入值。 你将在步骤 3 中使用这些值。 保存该文件,并将其命名为 Audiences.ps1。
## Settings you may want to change for Audience Name and Description ## 
$mySiteHostUrl = https://www.my.contoso.com
$audienceName = "<Input name of audience>"
$audienceDescription = "<Input description for audience>"
$audienceRules = @()
$audienceRules += New-Object Microsoft.Office.Server.Audience.AudienceRuleComponent("AccountName", "Contains", "jdoe")
#Create an OR group operator between the two audience rules.
$audienceRules += New-Object Microsoft.Office.Server.Audience.AudienceRuleComponent("", "OR", "")
$audienceRules += New-Object Microsoft.Office.Server.Audience.AudienceRuleComponent("AccountName", "Contains", "jlew")

  1. 复制以下代码,并将其粘贴到第 2 步的变量声明下方的 Audiences.ps1。
#Get the My Site Host's SPSite object
$site = Get-SPSite $mySiteHostUrl
$ctx = [Microsoft.Office.Server.ServerContext]::GetContext($site)
$audMan = New-Object Microsoft.Office.Server.Audience.AudienceManager($ctx)
#Create a new audience object for the given Audience Manager
$aud = $audMan.Audiences.Create($audienceName, $audienceDescription)
$aud.AudienceRules = New-Object System.Collections.ArrayList
$audienceRules | ForEach-Object { $aud.AudienceRules.Add($_) }
#Save the new Audience
$aud.Commit()
#Compile the new Audience
$upa = Get-SPServiceApplication | Where-Object {$_.DisplayName -eq "User Profile Service Application"}
$audJob = [Microsoft.Office.Server.Audience.AudienceJob]::RunAudienceJob(($upa.Id.Guid.ToString(), "1", "1", $aud.AudienceName))

注意

你可以使用其他文件名,但是必须将文件保存为扩展名为 .ps1 的 ANSI 编码文本文件。

  1. 单击 SharePoint 命令行管理程序。

  2. 转到保存该文件的目录。

  3. 在 PowerShell 命令提示符处,键入以下命令:

./Audiences.ps1 

有关 PowerShell 脚本和 .ps1 文件的其他信息,请参阅 运行 Windows PowerShell 脚本

有关如何创建访问群体的详细信息,请参阅 AudienceRuleComponent 类