Microsoft Identity Integration Server 2003 Developer Reference |
This example shows how to provision an Exchange 5.5 mailbox object.
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:
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; } }
Create55Mailbox(ConnectedMA,ReferenceValue,String,String,String,String,String,String,Byte[])