为 SharePoint Server 创建访问群体
适用于:2013 2016 2019 Subscription Edition SharePoint in Microsoft 365
了解如何使用 Microsoft PowerShell 脚本来创建访问群体。
使用 Microsoft PowerShell 脚本创建访问群体
- 确认满足以下最低要求:
参阅 Add-SPShellAdmin。
必须阅读 about_Execution_Policies。
- 复制以下变量声明并粘贴到文本编辑器(如记事本)中。 设置特定于您的组织的输入值。 你将在步骤 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")
- 复制以下代码,并将其粘贴到第 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 编码文本文件。
单击 SharePoint 命令行管理程序。
转到保存该文件的目录。
在 PowerShell 命令提示符处,键入以下命令:
./Audiences.ps1
有关 PowerShell 脚本和 .ps1 文件的其他信息,请参阅 运行 Windows PowerShell 脚本。
有关如何创建访问群体的详细信息,请参阅 AudienceRuleComponent 类。