Applies To

This article applies to: System Center Operations Manager 1807, System Center 2019 Operations Manager.

The Issue


We have installed System Center Operations Manager (SCOM) 2019 with SQL Server Reporting Services (SSRS) 2017, we receive an event ID 31567 error with the description:

“Failed to deploy reporting component to the SQL Server Reporting Services server” 

Below is an screenshot of how the error may look like:

The Solution

The 14.0.600.1274 and later versions of  SQL Server Reporting Services 2017 include new advanced settings that restricts the set of extensions of resource files that can be uploaded to a report server.

The new setting is called AllowedResourceExtensionsForUpload

There are two (2) methods of solving this issue:

Method 1

1. Open the SQL Server Management Studio, and then connect to a report server instance that Operations Manager uses.

2. Right-click the report server name, select Properties.

3. In the Server Properties window, select Advanced.

4. Locate the AllowedResourceExtensionsForUpload setting, add *.* to the list of extensions, and then select OK.

5. Restart the SQL Server Reporting Services (SSRS)

Stopping the SSRS:

Starting the SSRS:

Method 2

The second method of doing this is by using the power of PowerShell, create a PowerShell script of the script below:

$ExtensionAdd = @(
Write-Verbose -Message '***'
$Message = 'Step 12 of 12. Allowed Resource Extensions for Upload'
Write-Verbose -Message $Message
$Uri = [System.Uri]"https://$ServiceAddress/ReportServer/ReportService2010.asmx"
$Proxy = New-WebServiceProxy -Uri $Uri -UseDefaultCredential
$Type = $Proxy.GetType().Namespace + '.Property'
$Property = New-Object -TypeName $Type
$Property.Name = 'AllowedResourceExtensionsForUpload'
$Current = $Proxy.GetSystemProperties( $Property )
$ValueCurrent = $Current.Value -split ','
$ValueAdd = $ExtensionAdd | ForEach-Object -Process {
$ValueSet = $ValueCurrent + $ValueAdd | Sort-Object -Unique
$Property.Value = $ValueSet -join ','
$Proxy.SetSystemProperties( $Property )

Note: You have to populate the $ServiceAddress variable by using a valid address of your report service for HTTPS. If you don’t use HTTPS at all, change the script to use HTTP. The list of extensions in the script may not be exhaustive. Include your own extensions as appropriate.

The part which we need to modify is the following:

$Uri = [System.Uri]"https://$ServiceAddress/ReportServer/ReportService2010.asmx"

In our test, the report server is installed on a server called "scom2019", and the virtual directory name for our Web Service URL is ReportServer, so we change the value as follows:

Once we’ve changed the server name and the virtual directory name to correspond to our values, save the script to a file, for example: SSRS_AllowedResourceExtensionsForUpload.ps1 and then run the script on the server where the SQL Server Reporting Services is running.

Script output:


The installation of SCOM 2019 is fairly straightforward, and everything may look green and OK after the installation, but it is important to test things out after the installation.

This Reporting issue is something that is easily missed, because many are not using the Reporting in SCOM, some might install the SCOM Reporting feature but might not actually use it, and once you decide to actually try it out you receive an error and we are left confused.

Microsoft has luckily also published a KB article about this issue over here:

For the future, remember to test things out, even if the installation is successful, and also check the Windows event logs for any errors!

See Also