建立 SharePoint Server 的對象
**適用版本:**OneDrive for Business, SharePoint Server 2013, SharePoint Server 2016
**上次修改主題的時間:**2017-08-14
了解如何使用 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 Management Shell。
變更至您儲存檔案的目錄。
在 PowerShell 命令提示字元中,輸入下列命令:
./Audiences.ps1
如需 PowerShell 指令碼和 .ps1 檔案的其他資訊,請參閱<執行 Windows PowerShell 指令碼>。
如需如何建立對象的其他資訊,請參閱 AudienceRuleComponent 類別。