---
title: Automation (Preview)
description: "Last updated: September 25, 2026 The SSRS Reports Migration Wizard (SRMW) command-line utility automates repeatable migrations between supported SSRS Native mode and Power BI Report Server environments. Generated scripts can run manually, from Windows Task Scheduler, or through CI/CD pipelines.…"
url: "https://azureops.org/docs/ssrs-reports-migration-wizard/automation/"
updated: "2026-09-29"
category: SSRS Reports Migration Wizard
---

# Automation (Preview)

Last updated: September 25, 2026

The SSRS Reports Migration Wizard (SRMW) command-line utility automates repeatable migrations between supported SSRS Native mode and Power BI Report Server environments. Generated scripts can run manually, from Windows Task Scheduler, or through CI/CD pipelines.

[![SSRS Reports Migration Wizard command-line automation](https://i0.wp.com/azureops.org/wp-content/uploads/2026/09/automation-cli.gif?resize=800%2C245&ssl=1)](https://i0.wp.com/azureops.org/wp-content/uploads/2026/09/automation-cli.gif?ssl=1)

## Generate Scripts from the Wizard UI

The easiest way to create a valid command is to use **Script** on the wizard's **Review and Confirm** screen. SRMW generates the command from your current selections.

- **Script → Copy to Clipboard** — Copy the command into a terminal, batch file, scheduler, or pipeline.
- **Script → Save to File** — Save the generated command as a `.bat` file.

See [Getting Started → Review and Confirm](https://azureops.org/docs/ssrs-reports-migration-wizard/getting-started/#review-and-confirm) for the wizard workflow.

## Before You Begin

1. Install and activate SRMW on the machine that will run the command.
2. Confirm the source and target report servers are reachable and the account has the required permissions.
3. Open a new command prompt after installation or PATH changes.
4. Display the available command-line options:

```
SSRS.Reports.Migration.Wizard.exe /?
```

### Option 1 — Add the Executable to PATH

1. Search Windows for **Environment Variables**.
2. Open **Edit the system environment variables**.
3. Click **Environment Variables…**.
4. Under **System variables**, select **Path** and click **Edit…**.
5. Add the folder containing `SSRS.Reports.Migration.Wizard.exe`, for example `C:Program FilesAzureOpsSSRS Reports Migration Wizard`.
6. Click **OK** on each dialog and open a new command prompt.

### Option 2 — Use the Full Executable Path

```
"C:Program FilesAzureOpsSSRS Reports Migration WizardSSRS.Reports.Migration.Wizard.exe" /st:0 /ssn:http://SourceServer/ReportServer /tt:0 /tsn:http://TargetServer/ReportServer
```

> If the installation path contains spaces, enclose the full path in double quotes.

## Parameters

The following parameters are used by `SSRS.Reports.Migration.Wizard.exe`.

| Parameter | Usage | Description |
| --- | --- | --- |
| `st` | Mandatory | Source type: `0` = report server; `1` = SRMW file. |
| `ssn` | Required when `st=0` | Source report server URL. |
| `su` | Optional | Source username. If omitted, Windows authentication is used. |
| `sp` | Optional | Source password. Required when `su` is supplied. |
| `tt` | Mandatory | Target type: `0` = report server; `1` = SRMW file. |
| `tsn` | Required when `tt=0` | Target report server URL. |
| `tu` | Optional | Target username. If omitted, Windows authentication is used. |
| `tp` | Optional | Target password. Required when `tu` is supplied. |
| `srmwfp` | Required when `st=1` or `tt=1` | Full path of the SRMW file. |
| `items` | Optional | JSON array of selected items. If omitted, the source catalog is migrated. |
| `fm` | Optional | Source-to-target folder mapping in JSON format. Folder renaming is applied automatically. |
| `ms` | Optional | Migrate subscriptions and shared schedules. Default: `false`. |
| `mr` | Optional | Migrate item-level role assignments. Default: `false`. |
| `mp` | Optional | Migrate report parameter default values. Default: `false`. |
| `lfd` | Optional | Directory for execution logs and errors. |

## Limitations and Important Notes

### Data Source Credentials

The command-line utility migrates data source definitions but does not provide the wizard UI's interactive **Update Data Source Connections** step. If the target uses different connection strings or credentials, reconfigure and test target data sources before relying on migrated reports or subscriptions.

### Subscription Credentials

SSRS does not return credentials used by file-share delivery subscriptions as exportable catalog data. These credentials therefore cannot be migrated automatically and may need to be entered again on the target report server.

### Supported Environments

- Supported report-server scenarios use SSRS Native mode or Power BI Report Server.
- SharePoint mode is not supported.
- Comparison and migration selection are based on catalog paths; the utility does not inspect every internal change inside a report definition.
- Ensure the execution account has access to the source, target, folders, data sources, and required subscription resources.

## Items Parameter Format

The `items` parameter accepts a JSON array. Each object includes `Name`, `Path`, and `Type`. Supported types include `Folder`, `Report`, `LinkedReport`, `DataSource`, and `DataSet`.

> **Important:** Include the parent folder of each selected item. If the parent folder does not exist on the target, items beneath it may fail to migrate.

```
[
  { "Name": "Sales", "Path": "/Sales", "Type": "Folder" },
  { "Name": "AdventureWorks", "Path": "/Sales/AdventureWorks", "Type": "DataSource" },
  { "Name": "Company Sales", "Path": "/Sales/Company Sales", "Type": "Report" },
  { "Name": "Sales Summary", "Path": "/Sales/Sales Summary", "Type": "LinkedReport" }
]
```

## Usage Examples

For the safest syntax, generate the command from the wizard UI using **Script → Copy to Clipboard**. The examples below illustrate common scenarios.

**Migrate an entire catalog using Windows authentication:**

```
SSRS.Reports.Migration.Wizard.exe /st:0 /ssn:http://SourceServer/ReportServer /tt:0 /tsn:http://TargetServer/ReportServer
```

**Migrate subscriptions, roles, and parameter defaults with a custom log directory:**

```
SSRS.Reports.Migration.Wizard.exe /st:0 /ssn:http://SourceServer/ReportServer /tt:0 /tsn:http://TargetServer/ReportServer /ms:true /mr:true /mp:true /lfd:"D:Logs"
```

**Export a report-server catalog to an SRMW file:**

```
SSRS.Reports.Migration.Wizard.exe /st:0 /ssn:http://SourceServer/ReportServer /tt:1 /srmwfp:"D:BackupsSSRSBackup.srmw" /lfd:"D:Logs"
```

**Import an SRMW file into a target report server:**

```
SSRS.Reports.Migration.Wizard.exe /st:1 /srmwfp:"D:BackupsSSRSBackup.srmw" /tt:0 /tsn:http://TargetServer/ReportServer /ms:true /mr:true /mp:true /lfd:"D:Logs"
```

**Migrate from SSRS to Power BI Report Server:**

```
SSRS.Reports.Migration.Wizard.exe /st:0 /ssn:http://SourceServer/ReportServer /tt:0 /tsn:http://PBIServer/PowerBIReportServer /ms:true /mr:true /mp:true /lfd:"D:Logs"
```

**Rename a source folder on the target:**

```
SSRS.Reports.Migration.Wizard.exe /st:0 /ssn:http://SourceServer/ReportServer /tt:0 /tsn:http://TargetServer/ReportServer /fm:"{""Sales Staging"":""Sales Production""}" /lfd:"D:Logs"
```

**Run a scheduled migration from a batch file:**

```
@echo off
SSRS.Reports.Migration.Wizard.exe /st:0 /ssn:http://SourceServer/ReportServer /tt:0 /tsn:http://TargetServer/ReportServer /ms:true /mr:true /mp:true /lfd:"D:LogsNightly"
```

## Exit Codes

| Code | Meaning |
| --- | --- |
| 0 | Success |
| -1 | Failure |
| -2 | Fatal error during initialization |

> **Security note:** Avoid placing passwords directly in command-line arguments such as `/sp` and `/tp`, because they may be visible in process listings or shell history. Prefer Windows Authentication where possible, and protect scripts, logs, and SRMW files that may contain sensitive information.

### *Related*
