SSRS Deployment Tool is a free WinForms utility that deploys .rdl reports, data sources, shared datasets, and Power BI reports onto SSRS or Power BI Report Server over the REST API v2.0, and includes a built-in migration workflow that exports an entire SSRS folder structure and redeploys it onto PBIRS, with connection strings remapped along the way.
Uploading reports one at a time through the SSRS portal is slow and error-prone, and moving an estate onto Power BI Report Server means re-uploading everything anyway, with every connection string pointing at the old server.
| Without it | With SSRS Deployment Tool |
|---|---|
| Upload each report through the portal, one file at a time | A file scanner with checkboxes, deploy a whole folder in one click |
| Data source connections get overwritten and have to be re-entered | Existing data source connections are preserved automatically |
| Moving to PBIRS means starting from scratch | A built-in export → remap → redeploy migration workflow |
| Self-signed or internal certificates break upload scripts | TLS 1.2 explicitly enabled, works with internal CAs |
| Missing RDL namespace declarations fail silently on upload | Auto-detected and fixed before upload, without touching the source file |
| PowerShell | 5.1 or later, on Windows (it's a WinForms application) |
| Target server | SSRS or Power BI Report Server exposing REST API v2.0 (SSRS 16.x-compatible, tested on SQL Server 2019, 2022, and 2025) |
| Rights | Content Manager role on the target folders you deploy into |
| Dependencies | None, no dbatools, no external modules. Uses only built-in .NET/PowerShell (WinForms, Invoke-RestMethod, and a SOAP proxy to ReportService2010.asmx for folder creation and data-source rebinding) |
The launcher, Start-SSRSDeployment.cmd, copies the tool to %ProgramData%\SSRSDeployment and relaunches it elevated via UAC, needed because a mapped network share used to start the tool is no longer reachable once the process elevates.
| File type | Behavior |
|---|---|
.rdl, Reports | Always overwritten |
.rds / .rsds, Data sources | Existing connections are preserved; new ones are created |
.rsd, Shared datasets | Always overwritten |
.pbix, Power BI reports | Power BI Report Server only; deleted and recreated on redeploy |
On connect, the tool queries the target's /api/v2.0/System endpoint and checks the reported product name. If it's Power BI Report Server, .pbix deployment is enabled; on plain SSRS, those controls stay visible but disabled, no separate build or configuration needed for either target.
.rdl/.rds/.rsds/.rsd/.pbix files.The Migration tab connects to a source and a target server side by side, each with its own folder tree. Migration always runs in two phases through a local staging directory, never directly server to server, so the exported content can be inspected, or the run aborted, before anything reaches the target.
| Step | What happens |
|---|---|
| 1. Connect both servers | Source and target each get their own URL, credentials, and folder tree |
| 2. Choose an export directory | A local staging folder where the source content is written |
| 3. Export | Folders, reports, data sources, and shared datasets are pulled from the source server, preserving the folder structure |
| 4. Map connection strings (optional) | A grid of old-value/new-value pairs rewrites data source connection strings during export, e.g. pointing a data source at the new PBIRS host |
| 5. Deploy to the target | The exported, remapped content is redeployed onto the target server, following the same overwrite rules as a normal deploy |
| Windows authentication | Default, no configuration, works for on-premise SSRS or PBIRS in the current domain |
| Manual credentials | A checkbox reveals username/password fields, for accounts outside the current domain |
Report, data source, dataset, and Power BI report uploads go through the SSRS REST API v2.0. Folder creation and rebinding a folder of reports onto a shared data source use a SOAP proxy against ReportService2010.asmx instead, the REST API doesn't expose an equivalent for that operation cleanly, so both are used where each is the right tool.
Some older .rdl files are missing the xmlns:df namespace declaration that current SSRS expects, which otherwise fails silently on upload. The tool detects and adds it in memory before the upload, the original file on disk is never modified.
TLS 1.2 is explicitly enabled at the process level, so the tool works against self-signed or internally-issued certificates that a default PowerShell session would otherwise reject.
The entire GUI, including live log messages, switches between English and German from a single button, useful in mixed-language teams without maintaining two builds.
SSRS Deployment Tool is released under the MIT License, no trial, no activation. Same posture as ReportServerCheck; unlike SSIS Analyzer, this one isn't a licensed product.
Once a report server is reachable, this is the tool that gets content onto it, including the diagnostic report pack documented elsewhere on this site.
Use this tool to roll out the diagnostic report pack onto the same SSRS or PBIRS instance.
A slide deck covering both tabs, connection-string mapping, and the underlying REST API calls in more detail.
Free, MIT-licensed, clone the repository and run it against your own SSRS or PBIRS instance.
Every release, what changed, and why.