From d54f475c86698689dd542534f459478af4c2531d Mon Sep 17 00:00:00 2001 From: Marko Bozikovic Date: Mon, 29 Mar 2021 21:21:06 +0200 Subject: [PATCH] [#1509] SSRS 2019 initialization fix. --- CHANGELOG.md | 2 ++ source/DSCResources/DSC_SqlRS/DSC_SqlRS.psm1 | 16 ++++++++++++++++ 2 files changed, 18 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8ba3a7fe8..db3cf7cf4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -51,6 +51,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - SqlSetup - Fixed integration tests for SQL Server 2016 and SQL Server 2017. +- SqlRS + - Fixed SSRS 2019 initialisation [issue #1509](https://github.com/dsccommunity/SqlServerDsc/issues/1509). ## [15.1.1] - 2021-02-12 diff --git a/source/DSCResources/DSC_SqlRS/DSC_SqlRS.psm1 b/source/DSCResources/DSC_SqlRS/DSC_SqlRS.psm1 index fa7183d1a..46f669fde 100644 --- a/source/DSCResources/DSC_SqlRS/DSC_SqlRS.psm1 +++ b/source/DSCResources/DSC_SqlRS/DSC_SqlRS.psm1 @@ -463,6 +463,18 @@ function Set-TargetResource Invoke-RsCimMethod @invokeRsCimMethodParameters + <# + When initializing SSRS 2019, the call to InitializeReportServer + always fails, even if IsInitialized flag is $false. + It also seems that simply restarting SSRS at this point initializes + it. + + We will ignore $SuppressRestart here. + #> + Write-Verbose -Message $script:localizedData.Restart + Restart-ReportingServicesService -InstanceName $InstanceName -WaitTime 30 + $restartReportingService = $false + $reportingServicesData = Get-ReportingServicesData -InstanceName $InstanceName <# @@ -473,6 +485,8 @@ function Set-TargetResource #> if ( -not $reportingServicesData.Configuration.IsInitialized ) { + $restartReportingService = $true + $invokeRsCimMethodParameters = @{ CimInstance = $reportingServicesData.Configuration MethodName = 'InitializeReportServer' @@ -488,6 +502,8 @@ function Set-TargetResource { Write-Verbose -Message "Changing value for using SSL to '$UseSsl'." + $restartReportingService = $true + $invokeRsCimMethodParameters = @{ CimInstance = $reportingServicesData.Configuration MethodName = 'SetSecureConnectionLevel'