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), consulte ¿Qué es SQL Server Reporting Services?.
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
Seleccione en el botón Inicio.
Selecciona el grupo Productos de Microsoft SharePoint.
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:
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.
Agrega el proxy al grupo de servidores proxy predeterminado.
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
Contenido relacionado
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.