Example: Exchange 5.5 Mailbox
This example shows how to provision an Exchange 5.5 mailbox object.
Attribute Inclusion List
You must select the following attributes from the Select Attributes property page for your your Exchange 5.5 management agent to provision an Exchange 5.5 mailbox:
- uid
- cn
- rdn
- mailPreferenceOption
- rfc822Mailbox
- textEncodedORaddress
- MAPI-Recipient
- Home-MDB
- Home-MTA
- Assoc-NT-Account
- NT-Security-Descriptor
The following example shows how to use a rules extension to provision an Exchange 5.5 mailbox. Be sure to add a reference to logging.dll to use the LogException method.
Public Sub Provision(ByVal mventry As MVEntry) _
Implements IMVSynchronization.Provision
Dim ex55MA As ConnectedMA
Dim csentry As CSEntry
Dim nickName, displayName, smtpAddress, orAddress, mailboxMDB, mailboxMTA As String
Dim ntAccount As Byte()
Dim dn As ReferenceValue
Try
If "person" = mventry.ObjectType Then
ex55MA = mventry.ConnectedMAs("Fabrikam Ex55 MA")
nickName = mventry("mailNickname").Value
displayName = mventry("DisplayName").Value
smtpAddress = mventry("SMTPAddress").Value
orAddress = mventry("ORaddress").Value
mailboxMDB = mventry("homeMDB").Value
mailboxMTA = mventry("homeMTA").Value
ntAccount = mventry("objectSID").BinaryValue
' Construct the distinguished name
dn = ex55MA.EscapeDNComponent("CN=" + mventry("cn").Value).Concat("cn=Recipients,ou=fabrikam,o=com")
If 0 = ex55MA.Connectors.Count Then
csentry = ExchangeUtils.Create55Mailbox(ex55MA, dn, nickName, displayName, smtpAddress, orAddress, mailboxMDB, mailboxMTA, ntAccount)
End If
End If
' Log and rethrow any exception
Catch ex As Exception
Logging.Logging.LogException(ex, "Provision", "Caught exception", False)
Throw
End Try
End Sub
void IMVSynchronization.Provision (MVEntry mventry)
{
ConnectedMA ex55MA;
CSEntry csentry;
String nickName, displayName, orAddress, smtpAddress, mailboxMDB, mailboxMTA;
byte[] ntAccount;
ReferenceValue dn;
try
{
if( "person" == mventry.ObjectType )
{
ex55MA = mventry.ConnectedMAs["Fabrikam Ex55 MA"];
nickName = mventry["mailNickname"].Value;
displayName = mventry["DisplayName"].Value;
smtpAddress = mventry["SMTPAddress"].Value;
ntAccount = mventry["objectSID"].BinaryValue;
orAddress = mventry["ORaddress"].Value;
mailboxMDB = mventry["homeMDB"].Value;
mailboxMTA = mventry["homeMTA"].Value;
// Construct the distinguished name
dn = ex55MA.EscapeDNComponent("CN=" + mventry["cn"].Value).Concat("cn=Recipients,ou=fabrikam,o=com");
if(0 == ex55MA.Connectors.Count)
{
csentry = ExchangeUtils.Create55Mailbox(ex55MA, dn, nickName, displayName, smtpAddress, orAddress, mailboxMDB, mailboxMTA, ntAccount);
}
}
}
// Log and rethrow any exception
catch(Exception ex)
{
Logging.Logging.LogException(ex, "Provision", "Caught exception", false);
throw;
}
}
See Also
Create55Mailbox(ConnectedMA,ReferenceValue,String,String,String,String,String,String,Byte[])
Send comments about this topic to Microsoft
Build date: 2/16/2009