Microsoft Identity Integration Server 2003 Developer Reference

Example: Exchange 5.5 Distribution List

This example shows how to provision an Exchange 5.5 distribution list 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 distribution list:

The following example shows how to use a rules extension to provision an Exchange 5.5 distribution list. Be sure to add a reference to logging.dll to use the LogException method.

[Visual Basic .NET]
Public Sub Provision(ByVal mventry As MVEntry) _
	 Implements IMVSynchronization.Provision

	Dim ex55MA As ConnectedMA
	Dim csentry As CSEntry
	Dim nickName, displayName, smtpAddress, orAddress As String
	Dim dn As ReferenceValue

	Try
		 If "group" = 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

			' 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.Create55Distributionlist(ex55MA, dn, nickName, displayName, smtpAddress, orAddress)
			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
[C#]
void IMVSynchronization.Provision (MVEntry mventry)
	 {
		ConnectedMA ex55MA;
		CSEntry csentry;
		String nickName, displayName, smtpAddress, orAddress;
		ReferenceValue dn;

		try
		{
			 if( "group" == mventry.ObjectType )
			 {
				ex55MA = mventry.ConnectedMAs["Fabrikam Ex55 MA"];

				nickName	= mventry["mailNickname"].Value;
				displayName = mventry["DisplayName"].Value;
				smtpAddress = mventry["SMTPAddress"].Value;
				orAddress   = mventry["ORaddress"].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.Create55Distributionlist(ex55MA, dn, nickName, displayName, smtpAddress, orAddress);
			}
			 }
	}

		// Log and rethrow any exception
		catch(Exception ex)
		{
			 Logging.Logging.LogException(ex, "Provision", "Caught exception", false);
			 throw;
	}
	 }

See Also

Create55Distributionlist(ConnectedMA,ReferenceValue,String,String,String,String)