Get-MailboxDatabaseCopyStatus -Server "server_name" | Suspend-MailboxDatabaseCopy -Confirm:$False
Because we are not excluding the current mounted DBs (if any), the script will throw an error stating that “The suspend operation can't proceed because database "db_name" on Exchange Mailbox server "server_name" is the active mailbox database copy” - which is fine because it’s what we want.
If you want to suspend all passive copies of a particular database across all servers you can simply run:
Get-MailboxDatabaseCopyStatus "db_name" | Suspend-MailboxDatabaseCopy -Confirm:$False
But what if you are reducing the number of database copies in your environment and just want to suspend the 4th copy of all your DBs across all your servers? In this case, we will have to use the following script:
$dbs = Get-MailboxDatabase
ForEach ($db in $dbs) {
ForEach ($dbCopy in $db.DatabaseCopies) {
If ($dbCopy.ActivationPreference -eq 4) {
Suspend-MailboxDatabaseCopy $dbCopy.Identity -Confirm:$False
}
}
}
Hope this helps!
No comments:
Post a Comment