If you regularly onboard new tenants in Veeam Backup for Microsoft 365, chances are this scenario sounds very familiar.
A repository gets assigned to a proxy pool, and at some point you want to move it—quickly and without hassle. A common approach is to use a dedicated onboarding proxy pool for the initial full backups of new tenants, and a separate, permanently assigned pool for ongoing operations. Once those initial backups are complete, only incremental, day-to-day changes remain. These smaller, predictable workloads can then be handled by a proxy pool that’s specifically designed and sized for daily processing.
From an architectural perspective, this makes perfect sense. From an operational perspective… it can get a bit tedious.
Another use case I frequently run into is the need to quickly access logs for a specific job or repository. To do this, I assign the repository to a local Windows proxy, which gives me easy access to the proxy logs. This approach works best for me. Because of that, I need to be able to assign a specific proxy to a repository, rather than jumping between all the proxies in the pool just to figure out which one handled the job.
Automating proxy pool reassignment
To streamline this process, I put together a simple PowerShell script that removes the manual steps from the equation.
Here’s how it works:
You provide the name of a repository.
The script determines which proxy pool the repository is currently assigned to.
It then presents a list of all available proxy pools.
By selecting the corresponding number, the repository is reassigned from its current proxy pool to the newly chosen one.
No digging through the console, no repetitive clicks—just a clean, script-driven workflow.
The technical core
At the heart of this solution is the following PowerShell cmdlet:
Start-VBORepositoryOwnerChangeSession
This cmdlet initiates the repository ownership change and makes it possible to move a repository between proxy pools in a controlled and supported way.
For a full breakdown of parameters, behavior, and limitations, I highly recommend checking the official documentation in the Veeam Help Center.
Why should I use this ?
In environments with frequent tenant onboarding, small optimizations like this add up quickly. Automating proxy pool reassignment reduces operational friction, minimizes human error, and helps ensure your proxy resources are always used as efficiently as possible.
The script in action
When launched, you'll be asked to enter your repo-name for which you want to change the proxy-pool.
The script will search for the ID of the repo, the current assigned proxypool and will list all available proxy pools.
You select the desired pool by entering the corresponding number of the pool. To double-check you must confirm the change.
Finally you get the confirmation and all the detailed information of the change. When watched closely, you'll see this job popping up in the active job queue. Of course, never change the proxy when a job is still writing to the repository.
The PowerShell script:
Alternative version
This is a small modified script that allows me to change a repo from a proxy pool to a dedicated proxy. A function I frequently use when troubleshooting:



