Domain: SSRS / PBIRS · Risk: Changes state · Runs on: Windows, PowerShell 5.1 or 7
When a report server’s web address changes — a retired vanity name, a decommissioned endpoint — the old reservation should be removed cleanly. Doing it with netsh removes it from Windows but leaves Reporting Services believing it still exists. This command removes it through Reporting Services, so both agree.
Calls RemoveURL on the RS WMI configuration class, keeping HTTP.sys and rsreportserver.config in sync — the supported alternative to netsh http delete urlacl, which touches only HTTP.sys. Never throws; failures return Failed. Use Get-RsHttpConfig first to see exactly what is reserved.
Recipe 01 — Remove a stale vanity reservation from the PBIRS portal
Remove-RsUrlReservation -RsInstance 'PBIRS' -Application ReportServerWebApp `
-UrlString 'https://old-name.example.com:443'Recipe 02 — Preview before removing (dry run)
Remove-RsUrlReservation -RsInstance 'SSRS' -Application ReportServerWebService `
-UrlString 'https://+:443' -WhatIfStatus = Skipped; nothing is removed.
Recipe 03 — Remote server
Remove-RsUrlReservation -RsInstance 'SSRS' -Application ReportServerWebService `
-UrlString 'https://retired.example.com:443' -ComputerName RS02 -Credential $credA URL reservation is the record that says a web address belongs to Reporting Services. When that address is no longer used, you remove the reservation.
The catch with the old netsh way is that it only cleans up Windows’ copy — Reporting Services still thinks the address is reserved, and the two disagree. This command removes it through Reporting Services, so nothing is left dangling. Run Get-RsHttpConfig first to see the exact string to remove.
| Question | Answer |
|---|---|
| Outbound calls? | None. A WMI call to the local (or named) RS server. |
| What it changes | Removes one URL reservation via the RS configuration API. |
| Privileges | RS admin + local admin; WinRM for remote. |
| Safety | Supports -WhatIf for a no-op preview. |
| Dependency | Why | Required? |
|---|---|---|
| SSRS 2016+ or PBIRS | The service being configured. | Yes |
| The exact reservation string | What’s being removed (see Get-RsHttpConfig). |
Yes |
| WinRM to remote nodes | Only for remote targets. | No (local) |
- Removes the reservation through the RS API, so config and HTTP.sys stay consistent — no orphaned state left behind for an audit to flag.
-WhatIfallows a change-controlled preview before any removal.- Pairs with
Get-RsHttpConfigso the operator removes an exact, verified reservation rather than guessing.