The following examples show how to provision a Forefront Identity Manager Synchronization Service (FIM Synchronization Service) object for an e-mail–enabled user whose identification file is stored in the MADATA folder. The password for the identification file is "FilePassword". The user accesses e-mail through the Lotus Notes client.

Note:
Change the value of the Lotus Notes Properties property to a different value than what is shown in the code example.

If you are referencing a file that is located in a folder for the DN value, such as for the Notes Address Book (NAB) value, use a forward slash (/) to separate the folder from the file name, for example: folder/file name.

Visual Basic  Copy Code
Public Sub Provision(ByVal mventry As MVEntry) _
	Implements IMVSynchronization.Provision

	Dim ManagementAgent As ConnectedMA
	Dim Connectors As Integer
	Dim csentry As CSEntry
	Dim DNName As String
	Dim DNCertifier As String = "O=Main"

	If mventry("EmployeeStatus").IsPresent _
		AndAlso mventry("EmployeeStatus").Value.Equals("active") Then

		ManagementAgent = mventry.ConnectedMAs("Lotus Notes MA")
		Connectors = ManagementAgent.Connectors.Count

		If 0 = Connectors Then

			csentry = ManagementAgent.Connectors.StartNewConnector("person")
			DNName = mventry("sn").Value

			If mventry("middleName").IsPresent Then
				DNName = mventry("middleName").Value + " " + DNName
			End If

			If mventry("givenName").IsPresent Then
				DNName = mventry("givenName").Value + " " + DNName
			End If

			DNName = DNName + "/" + DNCertifier

			' Set the property values to provision the object.
			csentry.DN = ManagementAgent.EscapeDNComponent("CN=" _
							+ DNName).Concat("NAB=names.nsf")

			csentry("LastName").Value = mventry("sn").Value
			csentry("_MMS_Certifier").Value = DNCertifier
			csentry("_MMS_IDRegType").IntegerValue = 1  ' US User
			csentry("_MMS_IDStoreType").IntegerValue = 2  ' ID File as a file

			' The next two properties must have a value for a user with an
			' identification file.
			csentry("_MMS_IDPath").Value = mventry("cn").Value
			csentry("_MMS_Password").Value = "FilePassword"

			' The next two properties must have a value for a user to access
			' e-mail through the Lotus Notes client or Web browser.
			csentry("MailServer").Value = "CN=DominoServer/O=DominoDomain"
			csentry("MailFile").Value = "mail\" & mventry("uid").Value

			' Finish creating the new connector.
			csentry.CommitNewConnector()

		End If

	End If

End Sub
C#  Copy Code
void IMVSynchronization.Provision (MVEntry mventry)
{
	ConnectedMA ManagementAgent;
	int Connectors;
	CSEntry csentry;
	string DNName;
	string DNCertifier = "O=Main";

	if(mventry["EmployeeStatus"].IsPresent)
	{
		if(mventry["EmployeeStatus"].Value.Equals("active"))
		{
			ManagementAgent = mventry.ConnectedMAs["Lotus Notes MA"]; 	
			Connectors = ManagementAgent.Connectors.Count;

			if(0 == Connectors)
			{
				csentry = ManagementAgent.Connectors.StartNewConnector("person");
				DNName = mventry["sn"].Value; 

				if(mventry["middleName"].IsPresent)
				{
					DNName = mventry["middleName"].Value + " " + DNName;
			}			

				if(mventry["givenName"].IsPresent)
				{
					DNName = mventry["givenName"].Value + " " + DNName;
			}			

				DNName = DNName + "/" + DNCertifier; 	
		
				// Set the property values to provision the object.
				csentry.DN = ManagementAgent.EscapeDNComponent("CN="
							 + DNName).Concat("NAB=names.nsf");
		
				csentry["LastName"].Value = mventry["sn"].Value;
				csentry["_MMS_Certifier"].Value = DNCertifier; 
				csentry["_MMS_IDRegType"].IntegerValue = 1;  // U.S. User	
				csentry["_MMS_IDStoreType"].IntegerValue = 2;  // ID File as a File
	 
				// The next two properties must have a value for a user 
				// with an identification file.
				csentry["_MMS_IDPath"].Value = mventry["cn"].Value; 		
				csentry["_MMS_Password"].Value = "FilePassword";  
	
				// The next two properties must have a value for a user to access
				// e-mail through the Lotus Notes client or Web browser.
				csentry["MailServer"].Value = "CN=DominoServer/O=DominoDomain"; 
				csentry["MailFile"].Value = @"mail\" + mventry["uid"].Value;
			
				// Finish creating the new connector.
				csentry.CommitNewConnector();
		}
	}
}
}

See Also