Example: Microsoft Windows NT Server 4.0 Connected Data Sources
Microsoft Identity Lifecycle Manager 2007, Feature Pack 1 supports provisioning connector space object for users and global groups in Windows NT Server 4.0.
To provision a connector space object for a user, you have to 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 .NET 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();
}
}
}
Send comments about this topic to Microsoft
Build date: 2/16/2009