This example shows how to provision a Microsoft Exchange 2000 or Exchange 2003 resource mailbox object.
Attribute Inclusion List
You must select the following attributes from the Select Attributes property page for your Active Directory Domain Services (AD DS) management agent to provision an Exchange resource mailbox:
- mailNickname
- homeMDB
- msExchMailboxSecurityDescriptor
- msExchMasterAccountSid
- nTSecurityDescriptor
- userAccountControl
The following examples show how to provision an Exchange resource mailbox. You must add a reference to logging.dll to use the LogException method.
Visual Basic | ![]() |
---|---|
Public Sub Provision(ByVal mventry As MVEntry) _ Implements IMVSynchronization.Provision Dim adMA As ConnectedMA Dim csentry As CSEntry Dim nickName, mailboxMDB As String Dim dn as ReferenceValue Dim sid as byte() try adMA = mventry.ConnectedMAs("Fabrikam AD MA") nickName = mventry("mailNickname").Value mailboxMDB = mventry("homeMDB").Value sid = mventry("objectSID").BinaryValue ' Construct the distinguished name. dn = adMA.EscapeDNComponent("CN=" + mventry("cn").Value).Concat("ou=mailboxes,dc=fabrikam,dc=com") If 0 = adMA.Connectors.Count then csentry = ExchangeUtils.CreateMailbox(adMA, dn, nickName, mailboxMDB, sid) End If ' Log and rethrow any exception. Catch ex As Exception Logging.Logging.LogException(ex, "Provision", "Caught exception", False) Throw End Try End Sub |
C# | ![]() |
---|---|
void IMVSynchronization.Provision (MVEntry mventry) { ConnectedMA adMA; CSEntry csentry; String nickName, mailboxMDB; ReferenceValue dn; byte[] sid; try { adMA = mventry.ConnectedMAs["Fabrikam AD MA"]; nickName = mventry["mailNickname"].Value; mailboxMDB = mventry["homeMDB"].Value; sid = mventry["objectSID"].BinaryValue; // Construct the distinguished name. dn = adMA.EscapeDNComponent("CN=" + mventry["cn"].Value).Concat("ou=mailboxes,dc=fabrikam,dc=com"); if(0 == adMA.Connectors.Count) { csentry = ExchangeUtils.CreateMailbox(adMA, dn, nickName, mailboxMDB, sid); } } // Log and rethrow any exception. catch(Exception ex) { Logging.Logging.LogException(ex, "Provision", "Caught exception", false); throw; } } |