Назад | Перейти на главную страницу

Как я могу запустить этот сценарий PowerShell параллельно?

У меня есть 100 баз данных в Exchange, над которыми я хочу выполнить задачу. Я могу изменить смонтированный в данный момент сервер или что-то еще.

Когда я запускаю эту команду, каждая база данных синхронизируется последовательно. Я хотел бы запустить их все параллельно. Как я могу этого добиться?

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

IMO Нет необходимости в рабочем процессе для этого сценария. Вы можете запускать команды как задание, и оно будет выполняться параллельно, чтобы получить задание, используйте командлет получения задания.

Командлеты Get-MailboxDatabaseCopyStatus, Suspend-MailboxDatabaseCopy и Update-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