I am wondering if we can write a script to start multiple server using "mstsc" and invoke multiple exchange shell and perform the task in
Why use mstsc at all, when you can just use PoSH background jobs for your parallel efforts?
Don't just use one resource to make a decision with. Do a search for Workflows, parallel processing and RunSpaces to get a deeper understanding of parallel processing with PoSH before you move forward with this effort.
Why multiple Exchange shells?
There is only one Exchange Org in a forest, and any EMS session you start, implicitly (New-PSSession) or explicitly (Enter-PSSession), is talking to the same Org information.