miis - the promised code
Imports Microsoft.MetadirectoryServices
Public Class MVExtensionObject Implements IMVSynchronization
Public Sub Initialize() Implements IMvSynchronization.Initialize ' TODO: Add initialization code here End Sub
Public Sub Terminate() Implements IMvSynchronization.Terminate ' TODO: Add termination code here End Sub
Public Sub Provision(ByVal mventry As MVEntry) Implements IMVSynchronization.Provision ' TODO: Remove this throw statement if you implement this method Dim container As String Dim rdn As String Dim FabrikamADMA As ConnectedMA Dim numConnectors As Integer Dim myConnector As CSEntry Dim csentry As CSEntry Dim dn As ReferenceValue
' Ensure that the cn attribute is present. If Not mventry("cn").IsPresent Then Throw New UnexpectedDataException("cn attribute is not present.") End If
' Determine the container and relative distinguished name ' of the new connector space entry.
Select Case mventry.ObjectType.ToLower() Case "person" container = "CN=users,CN=MailObjects,CN=ironadam1,DC=adam" Case "user" container = "CN=users,CN=MailObjects,CN=ironadam1,DC=adam" Case "contact" container = "CN=contacts,CN=MailObjects,CN=ironadam1,DC=adam" Case "publicfolder" container = "CN=publicFolders,CN=MailObjects,CN=ironadam1,DC=adam" Case Else Throw New UnexpectedDataException( _ "Unhandled object type in provision" _ & "called with mventry " & mventry.ToString) End Select
rdn = "CN=" & mventry("cn").Value
FabrikamADMA = mventry.ConnectedMAs("Ironmail ADAM") dn = FabrikamADMA.EscapeDNComponent(rdn).Concat(container)
numConnectors = FabrikamADMA.Connectors.Count
' If there is no connector present, create a new connector. If 0 = numConnectors Then csentry = FabrikamADMA.Connectors.StartNewConnector("user") csentry.DN = dn csentry.CommitNewConnector()
ElseIf 1 = numConnectors Then ' Check if the connector has a different DN and rename if necessary. ' Get the connector. myConnector = FabrikamADMA.Connectors.ByIndex(0)
' Microsoft Identity Integration Server 2003 will rename/move if different, if not, nothing will happen. myConnector.DN = dn Else Throw New UnexpectedDataException("multiple connectors:" + numConnectors.ToString) End If End Sub
Public Function ShouldDeleteFromMV(ByVal csentry As CSEntry, ByVal mventry As MVEntry) As Boolean Implements IMVSynchronization.ShouldDeleteFromMV ' TODO: Add MV deletion code here Throw New EntryPointNotImplementedException End Function End Class
Comments
Post a Comment