我如何并行运行这个 powershell 脚本?

我如何并行运行这个 powershell 脚本?

我在 Exchange 中有 100 个数据库,我想对其执行任务。我可能想更改当前安装的服务器或其他操作。

当我运行此命令时,每个数据库都会按顺序同步。我想并行运行它们。我该如何实现?

Get-MailboxDatabaseCopyStatus -Server nyc01| where Status -eq Failed | Suspend-MailboxDatabaseCopy
Get-MailboxDatabaseCopyStatus -Server nyc01 | where Status -eq FailedAndSuspended | Update-MailboxDatabaseCopy- SourceServer nyc02 -DeleteExistingFiles:$true -Confirm:$false

答案1

我认为该场景不需要工作流程,您可以将命令作为作业运行,它将并行运行,要接收作业请使用 cmdlet accept-job。

CmdletsGet-MailboxDatabaseCopyStatus已经Suspend-MailboxDatabaseCopyUpdate-MailboxDatabaseCopy一个内置参数-AsJob,只需添加它,它就会作为作业在后台并行运行。

Get-MailboxDatabaseCopyStatus -Server nyc01| where Status -eq Failed | Suspend-MailboxDatabaseCopy -AsJob
Get-MailboxDatabaseCopyStatus -Server nyc01 | where Status -eq FailedAndSuspended | Update-MailboxDatabaseCopy -SourceServer nyc02 -DeleteExistingFiles:$true -Confirm:$false -AsJob

相关内容