Esempio Mapattributesforexport


Microsoft Identity Integration Server 2003 Developer Riferimento Esempio: Attivazione o disattivazione di un account utente in Active Directory È possibile attivare o disattivare un account utente in Active Directory impostando le costanti appropriate userAccountControl dell'account utente. È possibile impostare queste costanti nel metodo IMASynchronization. MapAttributesForExport dell'estensione regole di agente di gestione. Quando si esegue l'agente di gestione, il server chiama il metodo MapAttributesForExport come parte del processo di sincronizzazione. UserAccountControl Costanti È possibile utilizzare le seguenti costanti con l'attributo userAccountControl. Visual Basic Per ulteriori informazioni su queste costanti di controllo account utente, andare a msdn. microsoftlibrary e, nel riquadro sinistro, cercare l'argomento ADSUSERFLAGENUM. L'esempio seguente mostra come attivare o disattivare un account utente sulla base di una voce metaverse Visual regole di base estensioni 8211 MapAttributesForImport Aggiornamento 1.302.017 (lavorare sul codice di formattazione per la presentazione) In questo post ci concentreremo sulla sezione seguente del Management Agent l'estensione delle regole . Nel servizio di sincronizzazione cliccare sul MA che si desidera mappare l'attributo flussi al codice di cui sopra. In questo esempio abbiamo la mappatura del accountExpires attributo da un oggetto nello spazio connettore a un oggetto nel Metaverse convertire il valore da un valore intero alla sua stringa equivalente. Diamo un'occhiata ad un oggetto utente in Active Directory che ha la accountExpires set di attributi. questo è ciò che sembra nella GUI ADUC, ma se guardiamo il valore effettivo in ADSI Edit o l'attributo Tab Editor dell'oggetto nel ADUC quindi il valore reale all'interno di AD è 131.026.644 miliardi Quando la sincronizzazione questo valore con la FIM MIM Portal che ha bisogno di questo attributo essere convertiti al formato Data Ora usiamo questo post MapAttributesForImport come esempio per realizzare questo compito. Ulteriori informazioni su 8220IMASynchronization. MapAttributesForImport Method8221 possono essere trovate qui IMASynchronization. MapAttributesForImport vuoto (stringa FlowRuleName, CSEntry csentry, MVEntry mventry) TODO: scrivere il importazione attributo flusso di codice gettare nuova EntryPointNotImplementedException () In un post precedente abbiamo dettagliato 2 vie account scade l'estensione delle regole . che ha utilizzato il 8220IMASynchronization. MapAttributesForImport Method8221 ma anche focalizzata sulla importanza della parità di precedenza e il metodo 8220IMASynchronization. MapAttributesForExport8221. In questo post ci concentreremo sul reale 8220IMASynchronization. MapAttributesForImportmethod in contrapposizione ad una funzione individuale, come accountExpires a employeeEndDate. Vediamo ora più in profondità MapAttributesForImport, il seguente frammento di codice include funzioni di aiuto che ci indicherà nel post di follow-up. Per questo post ci concentreremo sul solo la sezione che viene utilizzato per mappare gli attributi per l'importazione o, più precisamente, ha detto il metodo IMASynchronization. MapAttributesForImport e per questo motivo ho rimosso tutti gli altri metodi che sarebbero necessari per compilare un dll funzionamento. l'obiettivo è quello di fornire una spiegazione di come costruire il vostro un metodo di estensione MA personalizzato alla volta. IMASynchronization. MapAttributesForImport vuoto (stringa FlowRuleName, CSEntry csentry, MVEntry mventry) Caso 8220Getdate8221: se (mventry. ConnectedMAs8220Contoso ADMA8221.Connectors. Count 0) se (mventry8220deprovisionDate8221.IsPresent) DateTime depoDate se (DateTime. TryParse (mventry8220deprovisionDate8221.Value, fuori depoDate) ) mventry8220deprovisionDate8221.Value DateTime. Now. AddDays (90).ToString (8220yyyy-mM-AAAAThh: mm: ss.0008221) altro mventry8220deprovisionDate8221.Value DateTime. Now. AddDays (90).ToString (8220yyyy-mM-AAAAThh: mm: ss.0008221) altro DateTime. Now. AddDays mventry8220deprovisionDate8221.Value (90).ToString (8220yyyy-mM-AAAAThh: mm: ss.0008221) caso rottura 8220RemoveDate8221: se (mventry. ConnectedMAs8220Contoso ADMA8221.Connectors. Count 1) se (mventry8220deprovisionDate8221.IsPresent) mventry8220deprovisionDate8221.Values. Clear () caso rottura 8220employeeEndDate8221: se (csentry8220accountExpires8221.IntegerValue 0 csentry8220accountExpires8221.IntegerValue 9223372036854775807) si tratta di una condizione speciale, non contribuiscono ed eliminare qualsiasi mventry8220employeeEndDate8221.Delete valore corrente () altro DateTime dtFileTime DateTime. FromFileTime (csentry8220accountExpires8221.IntegerValue) mventry8220employeeEndDate8221.Value dtFileTime. ToString (8220yyyy8217-8216MM8217-8216dd8217T8217HH8217: 8217mm8217: 8217ss8217.00082428221) caso rottura 8220pwdLastSet8221: se (csentry8220pwdLastSet8221.IsPresent ampamp csentry8220pwdLastSet8221.IntegerValue 0) caso 8220GetDomain8221: mventry8220domain8221.StringValue getDomain (csentry) rottura byte objectSidString csentry8220objectSid8221.BinaryValue mventry8220objectSidString8221.StringValue ConvertSidToString (objectSid) rompere la sezione che segue è le funzioni di supporto di supporto che vengono utilizzati in alcuni dell'attributo dell'attributo flussi sopra elencati. Funzioni regione Aiuto privato stringa statica ConvertFileTimeToFimTimeStamp (lungo FILETIME) tornare DateTime. FromFileTimeUtc (FILETIME).ToString (8220yyyy-MM-AAAAThh: mm: ss.0008221) bool shouldProject private static (CSEntry csentry, fuori MVObjectType stringa) stringa FSP 8220foreignSecurityPrincipal8221 const string FSP 8220foreignSecurityPrincipal8221 const string ADMA1 8220Contoso ADMA8221 const string ADMA2 8220Fabrikam ADMA8221 const string ADMA3 8220Fabrikam SharePoint ADMA8221 bool ShouldProject falso MVObjectType interruttore null (csentry. MA. Name) caso ADMA3: switch (csentry. ObjectType) caso FSP: MVObjectType FSP se (csentry8220whatever8221.StringValue. length gt 30) ShouldProject vera pausa pausa caso ADMA2: caso pausa ADMA1: rottura stringa getCSValueAsString (ingresso CSEntry, stringa attribName, bool forceUpper false) se (entryattribName. IsPresent) se (forsceUpper) tornare entryattribName. StringValue. ToUpper () altro ritorno entryattribName. StringValue altro restituire null statico stringa ConvertSidToString privato (byte objectSid) stringa objectSidString SecurityIdentifier sI nuova SeurityIdentifier (objectSid, 0) objectSidString SI. ToString () tornare objectSidString endRegion Dopo che avete codice compilato per tutti i flussi di attributo che chiamare uno dei funzioni in questo modo assicurarsi di selezionare la direzione del flusso di importazione e utilizzare il caso in cui l'impostazione del flusso nome della regola: che è all'interno del tipo di mappatura avanzata Attributo Vedere agente di gestione avanzata dei flussi post. Inoltre assicuratevi di selezionare tutti gli attributi dall'origine dati che la funzione utilizza per costruire il valore per l'attributo Metaverse. Domande Commenti Amore FIMMIM tanto non puoi nemmeno stare esso gtWE vogliono sentire da YOUlt

Comments