PowerShell 組態指令碼 (PowerPivot for SharePoint)

本主題適用於想要透過 PowerShell 指令碼部署或維護伺服器的 SharePoint 伺服陣列或服務管理員使用。如需有關如何使用 SharePoint 2010 管理中心執行相同工作的指示,請參閱<組態 (PowerPivot for SharePoint)>。

如果您在已設定或已經為伺服陣列成員的現有 SharePoint 伺服器上安裝 SQL Server PowerPivot for SharePoint,SQL Server 安裝程式將不會建立或修改要搭配 PowerPivot for SharePoint 部署使用的 SharePoint 服務或應用程式。若要完成部署,您必須自己執行組態工作。所有的後置安裝工作都可以透過指令碼來完成。本主題會提供使用及執行指令碼的範本和指示。

本主題包含下列章節:

必要條件

如何執行命令

部署 PowerPivot 方案

啟用 PowerPivot 功能

建立 PowerPivot 服務應用程式

啟動對 Windows Token Service 的宣告

啟用及設定 Excel Services

啟用 Secure Store Service 及設定資料重新整理

增加 Web 應用程式的最大上傳大小

必要條件

您必須是本機系統管理員和伺服陣列管理員,才能執行本主題中的命令。

如何執行命令

本主題的 PowerShell 命令會安排成好幾節來設定 PowerPivot for SharePoint 部署的特定層面。您可以在 SharePoint 2010 管理命令介面中個別執行每一個命令區塊,也可以在 .ps1 檔案中取代它們。

若要個別執行每個命令

  1. 在 Microsoft SharePoint 2010 產品程式群組中,以滑鼠右鍵按一下 [SharePoint 2010 管理命令介面],並選取 [以系統管理員身分執行]

  2. 在殼層輸入下列命令來檢查是否有足夠的權限。此命令應該會傳回 Excel Services 支援的 PowerShell 命令清單:

    get-help *SPExcel*
    

若要執行 .ps1 檔

另外,您也可以將指令碼結合成單一 .ps1 檔案,並在單一作業中進行所有設定。如果您這樣做,您必須暫時變更執行未簽署之指令碼的執行原則。下列步驟將說明如何進行這項作業。

  1. 使用系統管理員權限開啟 SharePoint 2010 管理主控台。

  2. 執行下列命令來判斷執行原則。之後,當您完成 PowerPivot for SharePoint 部署時,您會將執行原則重設回這個值。

    Get-ExecutionPolicy
    
  3. 請執行下列命令,暫時變更執行原則來允許未簽署的指令碼。輸入 Y,確認該動作。

    Set-ExecutionPolicy Unrestricted
    
  4. 輸入完整的檔案名稱來執行指令碼。例如,如果您將指令碼儲存為 PowerPivotConfig.ps1 檔案名稱,您將輸入下列命令列並按 Enter 鍵來執行指令碼。

    C:\Scripts-ps1\PowerPivotConfig.ps1
    
  5. 將執行原則重設為步驟 2 的原始值。輸入 Y,確認該動作。

    Set-ExecutionPolicy restricted 
    

若要從 PowerShell 視窗複製值

本主題中的部分程序會要求您從 PowerShell 視窗複製識別碼。如果您還不知道如何做,請使用下列指示了解其方式。

  1. 使用系統管理員權限開啟 SharePoint 2010 管理主控台。

  2. 輸入傳回 GUID 的命令 (例如,Get-SPServiceInstance)

  3. 按一下視窗左上角的 PowerShell 圖示。

  4. 指向 [編輯],然後按一下 [標記]

  5. 使用游標反白顯示識別碼。

  6. 再按一下 PowerShell 圖示,指向 [編輯],然後按一下 [複製]。此識別碼現在會儲存在剪貼簿中。您可以將該識別碼貼入使用識別碼做為參數值的其他命令陳述式中。

部署 PowerPivot 方案

PowerPivot for SharePoint 包含一個全域及一個應用程式層級的方案,在您建立 PowerPivot 服務應用程式之前必須先部署這兩個方案。全域方案是由 SQL Server 安裝程式所部署,應用程式層級的方案則必須在安裝之後部署。您必須針對將支援 PowerPivot 功能整合的每一個 SharePoint Web 應用程式來執行這個指令碼。

這個指令碼有一個替代方案,就是使用下列主題的指示:<部署 PowerPivot 方案>。

Install-SPSolution -Identity PowerPivotWebApp.wsp -AllWebApplications -GACDeployment

啟用功能

每個網站收集都需要啟用 PowerPivot 功能。此指令碼會指定名稱為 "somesite" 之 SharePoint Web 應用程式的根網站集合。將 "somesite" 取代為您 Web 應用程式的實際名稱。請注意,如果您已建立其他網站收集 (例如,名稱為 PowerPivot 的網站),URL 會是 http://somesite/PowerPivot。

這個指令碼有一個替代方案,就是使用下列主題的指示:<為網站集合啟用 PowerPivot 功能整合>。

Enable-SPFeature -Identity "PowerPivotSite" -URL http://somesite/

[!附註]

您可以使用 Get-SPFeature 命令來檢視所有伺服陣列、Web 和網站範圍之功能的清單。執行此命令會同時顯示 PowerPivot 伺服陣列功能與 PowerPivot 網站收集功能的名稱和識別碼。

建立 PowerPivot 服務應用程式

建立 PowerPivot 服務應用程式會提供 HTTP 端點給 PowerPivot 系統服務。您在伺服陣列中至少必須有一個 PowerPivot 服務應用程式,而且必須是預設 Proxy 群組的成員。

請注意,此指令碼會使用預設的服務應用程式集區,做為 PowerPivot 服務應用程式的服務識別。同時也請注意,這個指令碼包含伺服陣列資料庫伺服器的預留位置。請務必使用主控伺服陣列之組態資料庫的 SQL Server Database Engine 執行個體名稱來取代「您的資料庫伺服器名稱」字串。

在您執行指令碼之前,請確認資料庫伺服器設定為允許遠端 TCP/IP 連接。您可以使用 SQL Server 組態工具來啟用 TCP/IP (如果您尚未這麼做)。

這個指令碼有一個替代方案,就是使用下列主題的指示:<建立及設定 PowerPivot 服務應用程式>。

New-PowerPivotServiceApplication -ServiceApplicationName "Default PowerPivot Service Application" -DatabaseServerName "your database server name goes here" -DatabaseName DefaultPowerPivotServiceApplicationDB -AddToDefaultProxyGroup

啟動對 Windows Token Service 的宣告

對 Windows Token Service 的宣告必須已安裝 PowerPivot for SharePoint 的每部 SharePoint 伺服器上執行。

這個指令碼有一個替代方案,就是使用下列主題的指示:<在現有的 SharePoint Server 上安裝 PowerPivot for SharePoint>。

  1. 執行下列命令來取得對 Windows Token Service 的宣告識別碼:

    Get-SPServiceInstance
    
  2. 複製針對服務傳回的識別碼。

  3. 使用識別碼輸入下列命令來指定服務。

    Start-SPServiceInstance <ID>
    
  4. 再執行 Get-SPServiceInstance 一次,以確認對 Windows Token Service 的宣告處於線上狀態。

  5. 在已安裝 PowerPivot for SharePoint 的每部 SharePoint 伺服器上重複。

啟用及設定 Excel Services

Excel Services 會執行您發行至 SharePoint 之 Excel 活頁簿的伺服器端轉譯。PowerPivot for SharePoint 會根據 Excel Services 來觸發 PowerPivot 資料的要求,並將 PowerPivot 資料轉譯為工作表中的樞紐分析表或其他資料物件。

這個指令碼有一個替代方案,就是使用下列主題的指示:<在現有的 SharePoint Server 上安裝 PowerPivot for SharePoint>。

蒐集資訊並確認必要條件

  1. 執行下列命令來檢查 Excel Calculation Services 是否處於線上狀態。如果不在線上,請使用您啟動對 Windows Token Service 之宣告所使用的相同方法啟動該服務。

    Get-SPServiceInstance
    
  2. 執行下列命令來檢查 Excel Services 服務應用程式是否已經啟用。如果服務應用程式已存在,略過命令以建立它但執行啟用外部資料存取的命令、增加活頁簿大小上限,以及關閉資料重新整理警告。

    Get-SPExcelServiceApplication
    
  3. 取得您將用於建立服務應用程式之應用程式集區的名稱。在接下來的指令碼中,您將使用 SharePoint Web 服務預設應用程式集區。不過,您可以執行下列命令以判斷其他應用程式集區是否更為適合。

    Get-SPServiceApplicationPool
    

建立服務應用程式和服務應用程式 Proxy

New-SPExcelServiceApplication -name "Excel Services Application" –ApplicationPool "SharePoint Web Services Default"
New-SPExcelServiceApplicationProxy -name "Excel Services Application Proxy" –ServiceApplication "Excel Services Application" -DefaultProxyGroup

設定服務應用程式

此指令碼會增加活頁簿大小上限、啟用外部資料存取,並關閉資料重新整理警告。

Set-SPExcelFileLocation -Identity 'http://' -ExcelServiceApplication "Excel Services Application" -ExternalDataAllowed 2 -WorkbookSizeMax 2000 -WarnOnDataRefresh:$false 

將服務應用程式加入至預設服務應用程式 Proxy 群組

  1. 取得 Excel Services 應用程式的服務應用程式 Proxy 識別碼,並複製該識別碼。

    Get-SPServiceApplicationProxy
    
  2. 將服務應用程式 Proxy 識別碼加入至預設 Proxy 群組,並將 "serviceAppId" 取代為您從 PowerShell 視窗複製的實際識別碼。

    $ProxyGroup = Get-SPServiceApplicationProxygroup -default
    Add-SPServiceApplicationProxyGroupMember -Identity $ProxyGroup -Member "serviceAppId"
    

啟用 Secure Store Service 及設定資料重新整理

Secure Store Service 是用來儲存認證的一種 SharePoint 資源。PowerPivot for SharePoint 會使用 Secure Store Service 來支援以預存認證或參考的認證為基礎的資料重新整理作業。

重要事項重要事項

執行本節中的命令對於啟用某些 PowerPivot 資料重新整理選項已經足夠。具體地說,使用者可以輸入自己的認證來執行資料重新整理工作,或輸入提供認證之預先定義目標應用程式的 SSS 識別碼。此指令碼不會建立或設定 PowerPivot 無人看管的資料重新整理帳戶。您可以自行開發該指令碼,或在管理中心設定帳戶。如需詳細資訊,請參閱<設定及使用 PowerPivot 資料重新整理的預存認證>。

蒐集資訊並確認必要條件

執行下列命令來檢查安全存放服務是否處於線上狀態。如果不在線上,請使用您啟動對 Windows Token Service 之宣告所使用的相同方法啟動該服務。

Get-SPServiceInstance

建立服務應用程式

請務必取代資料庫伺服器的預留位置值。

New-SPSecureStoreServiceapplication -Name "Secure Store Service" -partitionmode:$false -sharing:$false -databaseserver "Your database server" -databasename "SecureStoreServiceAppDB" -ApplicationPool "SharePoint Web Services Default" -auditingEnabled:$true -auditlogmaxsize 30

建立服務應用程式 Proxy,並將其加入至預設 Proxy 群組

  1. 取得安全存放服務的服務應用程式識別碼,並複製該識別碼。

    Get-SPServiceApplication
    
  2. 執行下列命令,並將 <識別碼> 取代為您在上一個步驟複製的服務應用程式識別碼:

    New-SPSecureStoreServiceApplicationProxy -name "Secure Store Service Proxy" -ServiceApplication <ID> -defaultproxygroup
    

產生主要金鑰

  1. 設定主要金鑰的變數。

    $newPassPhrase='type a strong password here'
    
  2. 複製安全存放服務應用程式 Proxy 的識別碼。您將會在下一個步驟中使用它。

    Get-SPServiceApplicationProxy
    
  3. 設定服務應用程式 Proxy 的變數。

    $proxy='paste the ID for the secure store service application proxy here'
    
  4. 循序執行下列命令:

    Update-SpSecureStoreMasterKey -ServiceApplicationProxy $proxy -PassPhrase $newPassPhrase
    Update-SpSecureStoreApplicationServerKey -ServiceApplicationProxy $proxy -PassPhrase $newPassPhrase
    

設定使用量和健全狀況資料收集

此指令碼會啟用使用量和伺服器健全狀況資料收集,以蒐集如何使用系統的相關資訊。它會指定 5 分鐘的資料收集間隔,比預設值 30 分鐘還要頻繁。啟用使用量資料收集會提供用於內建報表的資訊,包括 PowerPivot 管理儀表板中的報表。

這個指令碼有一個替代方案,就是使用下列主題的指示:<設定使用量資料收集 (PowerPivot for SharePoint)>。

Set-SPUsageService -UsageLogCutTime 5

重新設定預設 Web 應用程式的上傳大小上限

根據預設,SharePoint 最多可讓您上傳大小為 50 MB 的檔案。這個指令碼會將 SharePoint Web 應用程式的最大檔案上傳大小變更為 2047 MB。2047 是 SharePoint 支援的最大值。

循序輸入下列每一行。第一行會取得 Web 應用程式、第二行會設定屬性,而第三行則會更新伺服器上的屬性。請務必將預留位置值 "somesite" 取代為您應用程式的實際名稱。您可以使用 Get-SPWebApplication 傳回伺服陣列中定義之應用程式的清單。

這個指令碼有一個替代方案,就是使用下列主題的指示:<設定檔案上傳大小上限 (PowerPivot for SharePoint)>。

$webapplication=Get-SPWebApplication http://somesite/
$webapplication.MaximumFileSize=2047
$webapplication.Update()