Cmdlets de PowerShell (modo de SharePoint de Reporting Services)

Al instalar SQL Server 2012 Reporting Services en modo de SharePoint, se instalan cmdlets de PowerShell para admitir servidores de informes en modo de SharePoint. Los cmdlets abarcan tres categorías de funcionalidad.

  • La instalación del proxy y el servicio compartido de SharePoint de Reporting Services.

  • El aprovisionamiento y administración de las aplicaciones de servicio de Reporting Services y servidores proxy asociados.

  • La administración de las características de Reporting Services, como las extensiones y las clave de cifrado.

Este tema contiene lo siguiente:

  • Cmdlet Summary

  • Shared Service Cmdlets

  • Service Application Cmdlets

  • Reporting Services functionality related Cmdlets

  • Basic Samples

  • Detailed Samples

    • Create a service application and proxy

    • Review and update a delivery extension

    • Get and set Properties of the Reporting Service Application Database

    • List Data Extensions

    • Change and list subscription owners

Resumen de los cmdlets

Para ejecutar los cmdlets es necesario abrir el Shell de administración de SharePoint. También puede usar el editor de la interfaz gráfica de usuario que se incluye con Microsoft Windows, Entorno de script integrado de Windows PowerShell (ISE). Para obtener más información, vea Iniciar Windows PowerShell en Windows Server (https://technet.microsoft.com/library/hh847814.aspx). En los resúmenes siguientes de cmdlet, las referencias a la aplicación de servicio 'bases de datos' se aplican a todas las bases de datos creadas y usadas por una aplicación de servicio de Reporting Services. Esto incluye la configuración, la creación de alertas y las bases de datos temporales.

Si ve un mensaje de error similar al siguiente al escribir los ejemplos de PowerShell:

  • Install-SPRSService: El término "Install-SPRSService" no se reconoce como el nombre de un cmdlet, función, archivo de script o programa ejecutable. Compruebe la ortografía del nombre o si una ruta de acceso se incluyó, compruebe que la ruta de acceso es correcta e inténtelo de nuevo.

Se está produciendo uno de los problemas siguientes:

  • El modo de Reporting Services SharePoint no está instalado y, por tanto, los cmdlets de Reporting Services no están instalados.

  • Ejecutó el comando de PowerShell en Windows Powershell o Windows PowerShell ISE en lugar del Shell de administración de SharePoint. Use el Shell de administración de SharePoint o agregue el Complemento de SharePoint a la ventana de Windows PowerShell con el comando siguiente:

    Add-PSSnapin Microsoft.SharePoint.PowerShell
    

Para obtener más información, vea Usar Windows PowerShell para administrar SharePoint 2013 (https://technet.microsoft.com/library/ee806878.aspx).

Para abrir el Shell de administración de SharePoint y ejecutar cmdlets

  1. Haga clic en el botón Inicio.

  2. Haga clic en el grupo Productos de Microsoft SharePoint.

  3. Haga clic en Shell de administración de SharePoint.

Para ver la ayuda de la línea de comandos para un cmdlet, utilice el comando ‘Get-Help’ de PowerShell en el símbolo del sistema de PowerShell. Por ejemplo:

Get-Help Get-SPRSServiceApplicationServers

Icono de flecha usado con el vínculo Volver al principioTop

Cmdlets de servicios compartidos y servidores proxy

La tabla siguiente contiene los cmdlets de PowerShell para el servicio compartido de SharePoint de Reporting Services.

Cmdlet

Descripción

Install-SPRSService

Instala y registra, o desinstala, el servicio compartido de Reporting Services. Esta operación solo se puede realizar en el equipo que tiene una instalación de SQL Server Reporting Services en modo de SharePoint. Para la instalación, se producen dos operaciones:

  1. El servicio de Reporting Services se instala en la granja.

  2. La instancia del servicio de Reporting Services se instala en el equipo actual.

Para la desinstalación, se producen dos operaciones:

  1. El servicio de Reporting Services se desinstala del equipo actual.

  2. El servicio de Reporting Services se desinstala de la granja.

NOTA: Si hay otros equipos en la granja que tengan el servicio Reporting Services instalado o si todavía hay aplicaciones de servicio Reporting Services ejecutándose en la granja, se mostrará un mensaje de advertencia.

Install-SPRSServiceProxy

Instala y registra, o desinstala, el proxy de servicio de Reporting Services en la granja de SharePoint.

Get-SPRSProxyUrl

Obtiene las direcciones URL para acceder al servicio de Reporting Services.

Get-SPRSServiceApplicationServers

Obtiene todos los servidores de la granja de SharePoint que contienen una instalación del servicio compartido de Reporting Services.

Icono de flecha usado con el vínculo Volver al principioTop

Cmdlets de aplicaciones de servicio y servidores proxy

La tabla siguiente contiene los cmdlets de PowerShell para las aplicaciones de servicio de Reporting Services y sus servidores proxy asociados.

cmdlet

Descripción

Get-SPRSServiceApplication

Obtiene una o varias aplicaciones de servicio de Reporting Services.

New-SPRSServiceApplication

Crea una nueva aplicación de servicio de Reporting Services y las bases de datos asociadas.

Parámetro LogonType: Especifica si el servidor de informes usa la cuenta del grupo de aplicaciones SSRS o un inicio de sesión de SQL Server para acceder a la base de datos del servidor de informes. Puede tener uno de los valores siguientes:

  • 0 Autenticación de Windows

  • 1 SQL Server

  • 2 Cuenta del grupo de aplicaciones (valor predeterminado)

Remove-SPRSServiceApplication

Quita la aplicación de servicio de Reporting Services especificada. También se quitarán las bases de datos asociadas.

Set-SPRSServiceApplication

Edita las propiedades de una aplicación de servicio de Reporting Services existente.

New-SPRSServiceApplicationProxy

Crea un nuevo proxy de aplicación de servicio de Reporting Services.

Get-SPRSServiceApplicationProxy

Obtiene uno o varios servidores proxy de la aplicación de servicio de Reporting Services.

Dismount-SPRSDatabase

Desmonta las bases de datos de la aplicación de servicio de Reporting Services.

Remove-SPRSDatabase

Quita las bases de datos de la aplicación de servicio de Reporting Services.

Set-SPRSDatabase

Establece las propiedades de las bases de datos asociadas a una aplicación de servicio de Reporting Services.

Mount-SPRSDatabase

Monta las bases de datos de una aplicación de servicio de Reporting Services.

New-SPRSDatabase

Crea las nuevas bases de datos para la aplicación de servicio de Reporting Services especificada.

Get-SPRSDatabaseCreationScript

Muestra el script de creación de bases de datos en la pantalla para una aplicación de servicio de Reporting Services. Este script se puede ejecutar a continuación en SQL Server Management Studio.

Get-SPRSDatabase

Obtiene una o varias bases de datos de la aplicación de servicio de Reporting Services.

Get-SPRSDatabaseRightsScript

Muestra el script de permisos de base de datos en la pantalla para una aplicación de servicio de Reporting Services. Solicita el usuario y la base de datos, y luego devuelve Transact-SQL que se puede ejecutar para modificar los permisos. Este script se puede ejecutar a continuación en SQL Server Management Studio.

Get-SPRSDatabaseUpgradeScript

Muestra el script de actualización de bases de datos en la pantalla. El script actualizará las bases de datos de la aplicación de servicio de Reporting Services a la versión de base de datos de la instalación de Reporting Services actual.

Icono de flecha usado con el vínculo Volver al principioTop

Cmdlets de funcionalidad personalizada de Reporting Services

Cmdlet

Descripción

Update-SPRSEncryptionKey

Actualiza la clave de cifrado para la aplicación de servicio de Reporting Services especificada y cifra de nuevo sus datos.

Restore-SPRSEncryptionKey

Restaura una clave de cifrado de la que se hizo copia de seguridad anteriormente para una aplicación de servicio de Reporting Services.

Remove-SPRSEncryptedData

Elimina los datos cifrados para la aplicación de servicio de Reporting Services especificada.

Backup-SPRSEncryptionKey

Realiza una copia de seguridad de la clave de cifrado para la aplicación de servicio de Reporting Services especificada.

New-SPRSExtension

Registra una nueva extensión con una aplicación de servicio de Reporting Services.

Set-SPRSExtension

Establece las propiedades de una extensión de Reporting Services existente.

Remove-SPRSExtension

Quita una extensión de una aplicación de servicio de Reporting Services.

Get-SPRSExtension

Obtiene una o varias extensiones de Reporting Services para una aplicación de servicio de Reporting Services.

Get-SPRSSite

Obtiene los sitios de SharePoint basándose en si está habilitada la característica "ReportingService". De forma predeterminada, se devuelven los sitios que habilitan la característica "ReportingService".

Ejemplos básicos

Devolver una lista de cmdlets cuyo nombre contiene ‘SPRS’. Será la lista completa de cmdlets de Reporting Services.

Get-command –noun *SPRS*

O con un poco más detalle, enviar la salida a un archivo de texto denominado commandlist.txt

Get-command -noun *SPRS*| select name, definition |Format-list | Out-File c:\commandlist.txt

Instalar el servicio de SharePoint de Reporting Services y el proxy del servicio.

Install-SPRSService

Install-SPRSServiceProxy

Iniciar el servicio Reporting Services

get-spserviceinstance -all |where {$_.TypeName -like "SQL Server Reporting*"} | Start-SPServiceInstance

Escriba el siguiente comando desde el Shell de administración de SharePoint para devolver una lista filtrada de filas de un archivo de registro. El comando filtrará las líneas que contengan “ssrscustomactionerror”. En este ejemplo se examina el archivo de registro creado cuando se instaló rssharepoint.msi.

Get-content -path C:\Users\testuser\AppData\Local\Temp\rs_sp_0.log | select-string "ssrscustomactionerror"

Icono de flecha usado con el vínculo Volver al principioTop

Ejemplos detallados

Además de los ejemplos siguientes, vea la sección "Script de Windows PowerShell" en el tema (Steps 1-4) Windows PowerShell script for Steps 1–4.

Crear una aplicación de servicio y un proxy

Este script de ejemplo realiza las tareas siguientes:

  1. Crea una aplicación de servicio de Reporting Services y un proxy. El script asume que el grupo de aplicaciones “My App Pool” ya existe.

  2. Agrega el proxy al grupo de servidores proxy predeterminado.

  3. Concede acceso a la aplicación de servicio al puerto 80 de la base de datos de contenido de la aplicación web. El script asume que el sitio “http://sitename” ya existe.

# Create service application and service application proxy
$appPool = Get-SPServiceApplicationPool “My App Pool”
$serviceApp = New-SPRSServiceApplication “My RS Service App” –ApplicationPool $appPool
$serviceAppProxy = New-SPRSServiceApplicationProxy –Name “My RS Service App Proxy” –ServiceApplication $serviceApp

# Add service application proxy to default proxy group.  Any web application that uses the default proxy group will now be able to use this service application.
Get-SPServiceApplicationProxyGroup –default | Add-SPServiceApplicationProxyGroupMember –Member $serviceAppProxy

# Grant application pool account access to the port 80 web application’s content database.
$webApp = Get-SPWebApplication “http://sitename”
$appPoolAccountName = $appPool.ProcessAccount.LookupName()
$webApp.GrantAccessToProcessIdentity($appPoolAccountName)

Revisar y actualizar una extensión de entrega

En el ejemplo siguiente de script de PowerShell se actualiza la configuración de la extensión de entrega por correo electrónico del servidor de informes para la aplicación de servicio denominada My RS Service App. Actualice los valores del nombre del servidor SMTP (<email server name>) y el alias de correo electrónico FROM (<your FROM email address>).

$app=get-sprsserviceapplication -Name "My RS Service App"
$emailCfg = Get-SPRSExtension -identity $app -ExtensionType "Delivery" -name "Report Server Email" | select -ExpandProperty ConfigurationXml 
$emailXml = [xml]$emailCfg 
$emailXml.SelectSingleNode("//SMTPServer").InnerText = “<email server name>”
$emailXml.SelectSingleNode("//SendUsing").InnerText = "2"
$emailXml.SelectSingleNode("//SMTPAuthenticate").InnerText = "2"
$emailXml.SelectSingleNode("//From").InnerText = '<your FROM email address>'
Set-SPRSExtension -identity $app -ExtensionType "Delivery" -name "Report Server Email" -ExtensionConfiguration $emailXml.OuterXml

En el ejemplo anterior, si no supiera el nombre exacto de la aplicación de servicio, podría reescribir la primera instrucción para obtener la aplicación de servicio a partir de una búsqueda del nombre parcial. Por ejemplo:

$app=get-sprsserviceapplication | where {$_.name -like " My RS Ser *"}

El siguiente script devolverá los valores de configuración actual de la extensión de entrega por correo electrónico del servidor de informes para la aplicación de servicio denominada “My RS Service App”. El primer paso establece el valor de la variable $app en el objeto de la aplicación de servicio denominada "My RS Service App".

La segunda instrucción obtendrá la extensión de entrega por correo electrónico del servidor de informes para el objeto de aplicación de servicio de la variable $app, y seleccionará el XML de configuración.

$app=get-sprsserviceapplication –Name "My RS Service App"
Get-SPRSExtension -identity $app -ExtensionType "Delivery" -name "Report Server Email" | select -ExpandProperty ConfigurationXml

Icono de flecha usado con el vínculo Volver al principioTop

Obtener y establecer las propiedades de la base de datos de la aplicación de servicio de informes

En primer lugar, en el ejemplo siguiente se devuelve una lista de las bases de datos y propiedades para que pueda determinar el GUID (identificador) de la base de datos que, a continuación, se proporcionará al comando establecido. Para obtener una lista completa de las propiedades, use Get-SPRSDatabase | format-list.

get-SPRSDatabase | select id, querytimeout,connectiontimeout, status, server, ServiceInstance 

A continuación se muestra un ejemplo de la salida. Determine el identificador de la base de datos que desea modificar y use el identificador en el cmdlet SET.

  • Id : 56f8d1bc-cb04-44cf-bd41-a873643c5a14

    QueryTimeout : 120

    ConnectionTimeout : 15

    Status : Online

    Server : SPServer Name=uetestb01

    ServiceInstance : SPDatabaseServiceInstance

Set-SPRSDatabase –identity 56f8d1bc-cb04-44cf-bd41-a873643c5a14 -QueryTimeout 300

Para comprobar que el valor esté establecido, vuelva a ejecutar el cmdlet GET.

Get-SPRSDatabase –identity 56f8d1bc-cb04-44cf-bd41-a873643c5a14 | select id, querytimeout,connectiontimeout, status, server, ServiceInstance

Icono de flecha usado con el vínculo Volver al principioTop

Elaborar una lista de extensiones de datos

En el siguiente ejemplo se recorre cada aplicación de servicio Reporting Services y se ofrece una lista de las extensiones de datos actuales para cada una.

$apps = Get-SPRSServiceApplication
foreach ($app in $apps) 
{
Write-host -ForegroundColor "yellow" Service App Name $app.Name
Get-SPRSExtension -identity $app -ExtensionType “Data” | select name,extensiontype | Format-Table -AutoSize
}

Salida de ejemplo:

  • Name ExtensionType

    ---- -------------

    SQL Data

    SQLAZURE Data

    SQLPDW Data

    OLEDB Data

    OLEDB-MD Data

    ORACLE Data

    ODBC Data

    XML Data

    SHAREPOINTLIST Data

Icono de flecha usado con el vínculo Volver al principioTop

Cambios y la lista de propietarios de la suscripción

Vea Use PowerShell to Change and List Reporting Services Subscription Owners and Run a Subscription.

Icono de flecha usado con el vínculo Volver al principioTop

Vea también

Conceptos

Use PowerShell to Change and List Reporting Services Subscription Owners and Run a Subscription

Obtener ayuda de SQL Server PowerShell

Otros recursos

Scripts de PowerShell de Administración de SharePoint de CodePlex

Cómo administrar SSRS con PowerShell