Reconnecting a Disconnected Mailbox
After a mailbox has been disconnected, and prior to it being purged or exceeding its retention period, it can be reconnected to a user object that doesn't currently have a mailbox associated with it. The following code shows how to reconnect a mailbox:
' This code reconnects a mailbox to a user.
Option Explicit
Dim strComputer, strUser, strMailbox, objWMI, objDiscMbx, objMbx
strComputer = "<Exchange Server>" ' e.g. ExchServer2
' ------ SCRIPT CONFIGURATION ------
strUser = "<Userid>" ' e.g. DrAmy
strMailbox = "<Mailbox Alias>" ' e.g. DrAmy
' ------ END CONFIGURATION ---------
Set objWMI = GetObject("winmgmts:\\" & strComputer & _
"\root\MicrosoftExchangeV2")
Set objDiscMbx = objWMI.ExecQuery("Select * from Exchange_Mailbox WHERE " _
& "MailboxDisplayName='" & strMailbox & "'",,48)
For Each objMbx In objDiscMbx
objMbx.Reconnect strUser
Next
WScript.Echo "Successfully reconnected mailbox."Tip
Reconnecting a mailbox requires Exchange Service Administrator permissions, plus additional permissions on user objects. See the section "Exchange Delegation."
This script is like the purge mailbox script and doesn't need CDOEXM; it also does what it needs to do through Windows Management Instrumentation (WMI). This script executes a query against the Exchange server using the WMI Exchange_Mailbox class (which is available in Exchange 2003) and asks for all mailboxes with the specified name. It then loops through the returned mailboxes and executes the ...