I'm not too PowerShell savvy but I know you can run background jobs in PowerShell.
When a cmdlet runs as a background job, the work is done asynchronously in its own thread ...
The cmdlet (command-let) you want to use to create a background job is Start-Job
.
Start-Job -FilePath c:\scripts\sample.ps1
This command runs the Sample.ps1 script as a background job. Then you can use Receive-Job
to get the out put from all your jobs.