PowerShell 配置脚本 (PowerPivot for SharePoint)

本主题面向通过 PowerShell 脚本部署或维护服务器的 SharePoint 场或服务管理员。有关如何使用 SharePoint 2010 管理中心来执行同样这些任务的说明,请参阅配置 (PowerPivot for SharePoint)

如果您在已配置为或者已是场的成员的现有 SharePoint 服务器上安装了 SQL Server PowerPivot for SharePoint,则 SQL Server 安装程序将不创建或修改 SharePoint 服务或应用程序以便使用您的 PowerPivot for SharePoint 部署。若要完成部署,您必须自己执行配置任务。所有安装后任务都可以通过脚本完成。本主题提供有关使用和运行脚本的模板和说明。

本主题包含以下各节:

先决条件

如何运行命令

部署 PowerPivot 解决方案

激活 PowerPivot 功能

创建 PowerPivot 服务应用程序

启动 Claims to Windows Token Service

启用和配置 Excel Services

启用安全存储区服务和配置数据刷新

增加 Web 应用程序的最大上载大小

先决条件

您必须是本地管理员和场管理员才能运行本主题中的命令。

如何运行命令

本主题中的 PowerShell 命令分为几部分,以便配置 PowerPivot for SharePoint 部署的特定方面。您可以在 SharePoint 2010 Management Shell 中单独运行每个命令组,也可以将它们放入 .ps1 文件中。

单独运行每个命令

  1. 在“Microsoft SharePoint 2010 产品”程序组中,右键单击 SharePoint 2010 Management Shell,然后选择**“以管理员的身份运行”**。

  2. 通过在 shell 中输入以下命令检查权限是否足够。该命令应返回 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 窗口中复制 ID。如果您还不知道如何操作,请使用以下说明了解操作方法。

  1. 使用管理员权限打开 SharePoint 2010 管理控制台。

  2. 输入一条返回 GUID 的命令(例如,Get-SPServiceInstance)

  3. 单击位于窗口左上角的 PowerShell 图标。

  4. 指向**“编辑”,然后单击“标记”**。

  5. 使用游标突出显示 ID。

  6. 再次单击 PowerShell 图标,指向**“编辑”并单击“复制”**。此 ID 现在存储在剪贴板中。您可以将它粘贴到将此 ID 用作参数值的其他命令语句中。

部署 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 网站集功能的名称和 ID。

创建 PowerPivot 服务应用程序

创建 PowerPivot 服务应用程序可为 PowerPivot 系统服务提供 HTTP 端点。您在场中必须至少具有一个 PowerPivot 服务应用程序,并且它必须是默认代理组的成员。

请注意,此脚本使用默认服务应用程序池作为 PowerPivot 服务应用程序的服务标识。另请注意,此脚本包括针对场数据库服务器的占位符。请确保使用承载场的配置数据库的 SQL Server 数据库引擎实例的名称替换字符串“Your database server name goes here”。

在运行此脚本之前,验证数据库服务器已配置为允许远程 TCP/IP 连接。可以使用 SQL Server 配置工具来启用 TCP/IP(如果您尚未执行此操作)。

还可以使用以下主题中的说明来代替此脚本:创建和配置 PowerPivot 服务应用程序

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

启动 Claims to Windows Token Service

Claims to Windows Token 服务必须在已安装了 PowerPivot for SharePoint 的每台 SharePoint 服务器上运行。

还可以使用以下主题中的说明来代替此脚本:在现有 SharePoint 服务器上安装 PowerPivot for SharePoint

  1. 运行以下命令可以获得 Claims to Windows Token Service 的 ID:

    Get-SPServiceInstance
    
  2. 复制针对服务返回的 ID。

  3. 输入以下命令,并使用 ID 指定此服务。

    Start-SPServiceInstance <ID>
    
  4. 再次运行 Get-SPServiceInstance,以验证 Claims to Windows Token Service 是否在线。

  5. 在安装了 PowerPivot for SharePoint 的每台 SharePoint 服务器上重复此步骤。

启用和配置 Excel Services

Excel Services 执行您发布到 SharePoint 的 Excel 工作簿的服务器端呈现。PowerPivot for SharePoint 依赖于 Excel Services 来触发对 PowerPivot 数据的请求,并且将 PowerPivot 数据作为数据透视表或者工作表中的其他数据对象呈现。

还可以使用以下主题中的说明来代替此脚本:在现有 SharePoint 服务器上安装 PowerPivot for SharePoint

获取信息并验证先决条件

  1. 运行以下命令以便检查 Excel Calculation Services 是否已在线。如果不在线,则通过您用于启动 Claims to Windows Token Service 的相同方法启动此服务。

    Get-SPServiceInstance
    
  2. 运行以下命令以便检查 Excel Services 服务应用程序是否已启用。如果服务应用程序已存在,则跳过创建此应用程序的命令,但运行启用外部数据访问、增加最大工作簿大小和关闭数据刷新警告的命令。

    Get-SPExcelServiceApplication
    
  3. 获取您将用于创建服务应用程序的应用程序池的名称。在后面的脚本中,您将使用 SharePoint Web Services 默认应用程序池。然而,您可以运行以下命令来确定其他应用程序池是否更适合。

    Get-SPServiceApplicationPool
    

创建服务应用程序和服务应用程序代理

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 

将服务应用程序添加到默认服务应用程序代理组

  1. 获取 Excel Services 应用程序的服务应用程序代理 ID 并复制此 ID。

    Get-SPServiceApplicationProxy
    
  2. 将服务应用程序代理 ID 添加到默认代理组,将“serviceAppId”替换为您从 PowerShell 窗口中复制的实际 ID。

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

启用安全存储区服务和配置数据刷新

安全存储区服务是用于存储凭据的 SharePoint 资源。PowerPivot for SharePoint 使用安全存储区服务支持基于存储的凭据或引用的凭据的数据刷新操作。

重要说明重要提示

运行此部分的命令对于启用某些 PowerPivot 数据刷新选项已足够。尤其是,用户可以输入其自己的凭据以运行数据刷新作业,也可以键入提供凭据的预定义目标应用程序的 SSS ID。此脚本不创建或设置 PowerPivot 无人参与的数据刷新帐户。您可以自行开发该脚本,也可以在管理中心内配置此帐户。有关详细信息,请参阅为 PowerPivot 数据刷新配置和使用存储的凭据

获取信息并验证先决条件

运行以下命令以便检查安全存储区服务是否已在线。如果不在线,则通过您用于启动 Claims to 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

创建服务应用程序代理并将其添加到默认代理组

  1. 获取安全存储区服务的服务应用程序代理 ID 并复制此 ID。

    Get-SPServiceApplication
    
  2. 运行以下命令,将 <ID> 替换为您在上一步中复制的服务应用程序 ID:

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

生成主密钥

  1. 为主密钥设置一个变量。

    $newPassPhrase='type a strong password here'
    
  2. 复制安全存储区服务应用程序代理的 ID。您将在下一步中使用它。

    Get-SPServiceApplicationProxy
    
  3. 为服务应用程序代理设置变量。

    $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()