How to: Provision Windows NT Server 4.0 Connected Data Sources
Forefront Identity Manager Synchronization Service (FIM Synchronization Service) supports provisioning connector space objects for users and global groups in Windows NT Server 4.0.
To provision a connector space object for a user, you must set the flags attribute of the connector space entry object to a value for a user account feature. For more information, see the usri1_flag member of the USER_INFO_1 structure in the Platform SDK.
The following Visual Basic example shows how to provision objects for Windows NT Server 4.0 connected directories.
Public Sub Provision( _
ByVal mventry As MVEntry) _
Implements IMVSynchronization.Provision
Dim ManagementAgent As ConnectedMA
Dim Connectors As Integer
Dim container As String
Dim rdn As String
Dim dn As ReferenceValue
Dim csentry As CSEntry
ManagementAgent = mventry.ConnectedMAs("Windows NT MA")
Connectors = ManagementAgent.Connectors.Count
If 0 = Connectors Then
If (mventry.ObjectType = "person") Then
csentry = ManagementAgent.Connectors.StartNewConnector("user")
' Set the property values to provision the object.
csentry.DN = ManagementAgent.CreateDN(mventry("displayName").Value)
' Use &H201 for an enabled user account; use &H203 for a disabled user account
csentry("flags").IntegerValue = &H201
' Finish creating the new connector.
csentry.CommitNewConnector()
ElseIf (mventry.ObjectType = "group") Then
csentry = ManagementAgent.Connectors.StartNewConnector("group")
' Set the property values to provision the object.
csentry.DN = ManagementAgent.CreateDN(mventry("displayName").Value)
' Finish creating the new connector.
csentry.CommitNewConnector()
End If
End If
End Sub
The following C# example shows how to provision objects for Windows NT Server 4.0 connected directories.
void IMVSynchronization.Provision (MVEntry mventry)
{
ConnectedMA ManagementAgent;
int Connectors;
CSEntry csentry;
ManagementAgent = mventry.ConnectedMAs["Windows NT MA"];
Connectors = ManagementAgent.Connectors.Count;
if(0 == Connectors)
{
if( mventry.ObjectType == "person" )
{
csentry = ManagementAgent.Connectors.StartNewConnector("user");
// Set the property values to provision the object.
csentry.DN = ManagementAgent.CreateDN( mventry["displayName"].Value );
// Use 0x201 for an enabled user account; use 0x203 for a disabled user account.
csentry["flags"].IntegerValue = 0x201;
// Finish creating the new connector.
csentry.CommitNewConnector();
}
else if( mventry.ObjectType == "group" )
{
csentry = ManagementAgent.Connectors.StartNewConnector("group");
// Set the property values to provision the object.
csentry.DN = ManagementAgent.CreateDN( mventry["displayName"].Value );
// Finish creating the new connector.
csentry.CommitNewConnector();
}
}
}