In work, I got a task to backup SSRS reports folder of a report server. Taking a different approach, I choose to depend on AI tools to help me out. I choose Bing Chat powered by ChatGPT.
Following is the PowerShell code generated by Bing Chat.
# Specify the URL of the report server
$reportServerUrl = "http://myreportserver01//reportserver"
# Specify the path of the report on the report server
$reportPath = "/My Report Folder 01"
# Specify the path where to save the RDL file (Note: double forward slashes)
$savePath = "D:\\BackupFolder\\Transfer\\ReportRDL\\"
# Create a new proxy to the report server (Note: we are using ReportingService2010 name space
$proxy = New-WebServiceProxy -Uri "$reportServerUrl/ReportService2010.asmx?wsdl" -Namespace SSRS.ReportingService2010 -UseDefaultCredential
# Get all reports in the folder
$reports = $proxy.ListChildren($reportPath, $false) | Where-Object { $_.TypeName -eq "Report" }
# Download each report
foreach ($report in $reports)
{
# Get the report definition
$reportDefinition = $proxy.GetItemDefinition($report.Path)
# Save the report definition to disk
[System.IO.File]::WriteAllBytes($savePath + $report.Name + ".rdl", $reportDefinition)
}
I also come across another away to download RDL files using "RS.exe" tool. It can be found in following url -> https://asgb1.freshdesk.com/support/solutions/articles/11000114924-download-ssrs-reports-rdl-files-using-rs-exe-utility
No comments:
Post a Comment