Quantcast
Channel: Windows PowerShell forum
Viewing all articles
Browse latest Browse all 21975

Running multiple functions at once

$
0
0

I have a couple of status check functions which report on long-running functions (e.g. mailbox exports) which are foreach-ing against a list of user names.

The long running functions all seem to run concurrently. However, I would like the status checks to also execute simultaneously.  None of the other functions send out-put to the console.

What is an elegant way of accomplishing this feat?

function MailboxExportRequestStatus { $statReport = Get-MailboxExportRequestStatistics -Identity $user_name\mailboxExport -IncludeReport $i = 0 while ( $statReport.status -eq "Queued" ) { $statReport = Get-MailboxExportRequestStatistics -Identity $user_name\mailboxExport -IncludeReport Write-Host "`t`t`tExport request for" $user_name "has been in queue for" ($i * 15) "seconds" sleep -Seconds 15 $i++ } while ( $statReport.status -eq "InProgress" ) { $statReport = Get-MailboxExportRequestStatistics -Identity $user_name\mailboxExport -IncludeReport Write-Host "`t`tExport request for" $user_name "is in progress. It is" $statReport.PercentComplete"% complete" sleep -Seconds 15 } while ( $statReport.status -eq "Completed" ) { $statReport = Get-MailboxExportRequestStatistics -Identity $user_name\mailboxExport -IncludeReport Write-Host "`t`t`t`tCompleted! The mailbox esport request for" $user_name "is now"$statReport.PercentComplete"percent complete" sleep -Seconds 2 } Get-MailboxExportRequestStatistics -Identity $user_name\mailboxExport -IncludeReport }

foreach ( $user_name in $user_names)

{

spam

eggs

MailboxExportRequestStatus

foo

bar

}




Viewing all articles
Browse latest Browse all 21975

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>