Share via


Example: User with the Identification File Stored in a Specified Folder

The following example shows how to provision an object for an e-mail–enabled user whose identification file is stored in a specified folder. The example stores the identification file in the folder C:\idfiles. The password for the identification file is "FilePassword.: The user accesses e-mail through the Lotus Notes client.

Important  Change the value of the _MMS_Password property to a different value than the value that is shown in the code example.

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

    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  ' 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 = "c:\idfiles\" & 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
    
                csentry.CommitNewConnector()
            End If
    
        End If
    
    End Sub
    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 = @"c:\idfiles\" + 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;
    
                    csentry.CommitNewConnector();            
                }            
            }
        }
    }

See Also

Lotus Notes Connected Data Sources
Lotus Notes Properties

Send comments about this topic to Microsoft

Build date: 2/16/2009