Cmdlets de PowerShell para el modo de SharePoint de Reporting Services

Se aplica a: SQL Server Reporting Services (2016) SharePoint ❌ Power BI Report Server

Para obtener contenido relacionado con versiones anteriores de SQL Server Reporting Services (SSRS), vea SQL Server Reporting Services 2014.

Al instalar SQL Server 2016 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 la administración de las aplicaciones de servicio de Reporting Services y los servidores proxy asociados.

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

Nota:

La integración de Reporting Services con SharePoint ya no está disponible a partir de SQL Server 2016.

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 incluido en Microsoft Windows, Entorno de scripting integrado (ISE) de Windows PowerShell. Para más información, vea Starting Windows PowerShell on Windows Server. En los resúmenes de cmdlet siguientes, las referencias a la aplicación de servicio "databases" 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 ves un mensaje de error similar al siguiente al introducir los ejemplos de PowerShell:

  • Install-SPRSService: el término 'Install-SPRSService' no se reconoce como
    nombre de un cmdlet, función, archivo de script o programa ejecutable. Compruebe si escribió correctamente el nombre o, si incluyó una ruta de acceso, compruebe que dicha ruta es correcta e inténtelo de nuevo.

Se está produciendo uno de los problemas siguientes:

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

  • 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 más información, consulta Usar Windows PowerShell para administrar SharePoint 2013.

Abrir el Shell de administración de SharePoint y ejecutar cmdlets

  1. Seleccione en el botón Inicio.

  2. Selecciona el grupo Productos de Microsoft SharePoint.

  3. Selecciona el shell de administración de SharePoint.

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

Get-Help Get-SPRSServiceApplicationServers

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 o registra, o desinstala, el servicio compartido de Reporting Services. Esta acción solo se puede hacer en la máquina que tiene una instalación de SQL Server Reporting Services en modo de SharePoint. Para la instalación, se producen dos operaciones:

-El servicio de Reporting Services se instala en la granja de servidores.

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

Para la desinstalación, se producen dos operaciones:

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

-El servicio de Reporting Services se desinstala de la granja de servidores.



Si hay otros equipos en la granja de servidores que tengan instalado el servicio de Reporting Services o si todavía hay aplicaciones de servicio de Reporting Services ejecutándose en ella, se muestra 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 obtener acceso 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. Este cmdlet es útil para las actualizaciones de Reporting Services, con el fin de determinar qué servidores ejecutan el servicio compartido y por tanto no es necesario actualizar.

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 uno o más objetos de aplicación 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 utiliza la cuenta del grupo de aplicaciones SSRS o un inicio de sesión de SQL Server para tener acceso a la base de datos del servidor de informes. Los valores válidos son:

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. Este cmdlet también quitará 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 más servidores proxy de aplicación de servicio de Reporting Services.
Dismount-SPRSDatabase Desmonta las bases de datos de la aplicación de servicio de una aplicación de servicio de Reporting Services.
Remove-SPRSDatabase Quita las bases de datos de la aplicación de servicio de una 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 bases de datos para una aplicación de servicio de Reporting Services.
New-SPRSDatabase Crea nuevas bases de datos de la aplicación de servicio para la aplicación de servicio de Reporting Services especificada.
Get-SPRSDatabaseCreationScript Envía el script de creación de base de datos a la pantalla de 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 más bases de datos de aplicación de servicio de Reporting Services. Usa el comando para obtener el identificador de la base de datos de la aplicación del servicio de forma que puedas usar el cmdlet Set-SPRSDatabase para modificar las propiedades, por ejemplo querytimeout. Consulta el ejemplo de este artículo, Obtener y establecer las propiedades de la base de datos de aplicación de Reporting Services.
Get-SPRSDatabaseRightsScript Envía el script de derechos de base de datos a la pantalla de 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 actualiza 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 actual de Reporting Services.

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 más extensiones de Reporting Services para un aplicación de servicio de Reporting Services.

Los valores válidos son:



Entrega

DeliveryUI

Representación

data

Seguridad

Authentication

EventProcessing

ReportItems

Diseñador

ReportItemDesigner

ReportItemConverter

ReportDefinitionCustomization
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". Se trata de 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  

Instale el servicio y el proxy de servicio de SharePoint de Reporting Services.

Install-SPRSService  
Install-SPRSServiceProxy  

Iniciar el servicio de Reporting Services.

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

Introduce el siguiente comando desde el Shell de administración de SharePoint para devolver una lista filtrada de filas del 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"  

Ejemplos detallados

Además de los ejemplos siguientes, consulta la sección "Scripts de Windows PowerShell" en el artículo Script de Windows PowerShell para los pasos 1 a 4.

Crear una aplicación de servicio de Reporting Services 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 supone que el sitio https://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 "https://sitename"  
$appPoolAccountName = $appPool.ProcessAccount.LookupName()  
$webApp.GrantAccessToProcessIdentity($appPoolAccountName)  
  

Revisar y actualizar una extensión de entrega de Reporting Services

El siguiente ejemplo de script de PowerShell actualiza la configuración de la extensión de entrega de correo electrónico del servidor de informes para la aplicación de servicio denominada My RS Service App. Actualice los valores para el 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 supieras el nombre exacto de la aplicación de servicio, podrías 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 " ssrs_testapp *"}  

El script siguiente devuelve los valores de configuración actuales de la extensión de entrega de correo electrónico del servidor de informes para la aplicación de servicio denominada "Aplicación de Reporting Services". El primer paso establece el valor de la variable $app en el objeto de la aplicación de servicio que tiene un nombre de " 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 "Reporting Services Application"  
Get-SPRSExtension -identity $app -ExtensionType "Delivery" -name "Report Server Email" | select -ExpandProperty ConfigurationXml  

Asimismo, puedes reescribir las dos instrucciones anteriores como una sola:

get-sprsserviceapplication -Name "Reporting Services Application" | Get-SPRSExtension -ExtensionType "Delivery" -name "Report Server Email" | select -ExpandProperty ConfigurationXml  

Obtener y establecer las propiedades de la base de datos de aplicación de Reporting Services

En el siguiente ejemplo, se obtiene, en primer lugar, una lista de las bases de datos y propiedades de forma que pueda determinar el GUID (identificador) de la base de datos que proporciona después al comando SET. Para obtener una lista completa de las propiedades, use Get-SPRSDatabase | format-list.

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

La siguiente salida es un ejemplo: Determine el identificador para la base de datos que desee 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 se ha establecido el valor, vuelva a ejecutar el cmdlet GET.

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

Enumerar extensiones de datos de Reporting Services

El siguiente ejemplo recorre en bucle cada aplicación de servicio de Reporting Services y muestra las extensiones de datos actuales de 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  
}  

Ejemplo:

  • Name ExtensionType

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

    SQL Data

    SQLAZURE Data

    SQLPDW Data

    OLEDB Data

    OLEDB-MD Data

    ORACLE Data

    ODBC Data

    XML Data

    SHAREPOINTLIST Data

Cambiar y enumerar propietarios de suscripciones de Reporting Services

Vea Uso de PowerShell para cambiar y enumerar a los propietarios de una suscripción de Reporting Services y ejecutar una suscripción.

Uso de PowerShell para cambiar y enumerar a los propietarios de una suscripción de Reporting Services y ejecutar una suscripción
Lista de comprobación: Uso de PowerShell para comprobar PowerPivot para SharePoint
Obtener ayuda de SQL Server PowerShell

¿Tiene alguna pregunta más? Puede plantear sus dudas en el foro de Reporting Services.