Generischer CSV-Connector – Technischer Referenzhandbuch (Vorschau)
In diesem Artikel wird der generische CSV-Connector (GCSV) beschrieben. Der Artikel bezieht sich auf folgende Produkte:
Für MIM 2016 steht der Connector im Microsoft Download Center als Download zur Verfügung.
Um diesen Connector in Aktion zu sehen, lesen Sie den Artikel Schrittweise Anleitung für den generischen SQL-Connector .
Hinweis
Der Azure AD-Bereitstellungsdienst bietet jetzt eine einfache agentbasierte Lösung für die Bereitstellung von Benutzern in CSV-Dateien ohne vollständige MIM-Synchronisierungsbereitstellung. Es wird empfohlen, zu bewerten, ob es Ihren Anforderungen entspricht. Weitere Informationen.
Übersicht über den generischen CSV-Connector
Mit dem generischen CSV-Connector (GCSV) können Sie Benutzer- und Gruppenidentitätsdaten, die in CSV-Dateien verwaltet werden, in Microsoft-Produkte integrieren, z. B. Microsoft Entra Connect Provisioning Agent (ECMA2Host) und Microsoft Identity Manager 2016 (MIM2016).
Es verfügt über verschiedene Features, z. B. die Möglichkeit, die Verwendung von PowerShell zum Verwalten von Identitätsdaten vor oder nach Import- oder Exportvorgängen zu orchestrieren. Es bietet Unterstützung für mehrere Datentypen, einschließlich binär und Verweise, Unterstützung für qualifizierte Zeichenfolgenwerte und mehrwertige Zeichenfolgen.
In diesem Artikel werden die Features und Funktionen des generischen CSV-Connectors und dessen Konfiguration für MIM 2016 beschrieben.
In der folgenden Tabelle sind die Features aufgeführt, die das aktuelle Release des Connectors aus allgemeiner Sicht unterstützt:
Funktion | Details |
---|---|
Support für mehrere Produkte | Die Verwendung dieses Connectors wird mit den folgenden Microsoft-Produkten unterstützt: |
Unterstützte CSV-Dateien | Dieser Connector unterstützt die Verwaltung von Benutzern (erforderlich) und Gruppen (optional) durch die Konfiguration von bis zu drei CSV-Dateien: |
Pre/Post-Vorgangsverarbeitung mit PowerShell | Dieser Connector unterstützt die Konfiguration von bis zu vier (4) PowerShell-Skripts, um die Verarbeitung von Benutzer- und Gruppenidentitätsdaten vor oder nach dem Import oder Export zu erleichtern. |
Unterstützte CSV-Dateicodierung | Der Connector unterstützt alle standardmäßigen (oder installierten) Servercodierungstypen: (z. B. Unicode, UTF-8, UTF-7, ASCII usw.) |
Unterstützte CSV-Felddatentypen | Der Connector unterstützt die folgenden Attributdatentypen: |
CSV-Feldtrennzeichen | Unterstützung für Kommas (,) oder ein beliebiges druckbares alphamerisches Zeichen, um den Anfang und das Ende eines beliebigen Zeichenfolgenwerts zu qualifizieren. |
Unterstützung für Zeichenfolgenqualifikationen | Unterstützung für doppelte Anführungszeichen (") oder ein beliebiges druckbares alphamerisches Zeichen, um den Anfang und das Ende eines beliebigen Zeichenfolgenwerts zu qualifizieren. |
Unterstützung für mehrwertige Zeichenfolgen | Unterstützung für mehrwertige Zeichenfolgen |
Unterstützte Connectorvorgänge | Der Connector unterstützt die folgenden Vorgänge: |
Schema | Die Schemaermittlung ist dynamisch, erfordert jedoch eine manuelle Konfiguration zur Vervollständigung. Felder werden dynamisch basierend auf einem angegebenen Trennzeichen (oder als "Werttrennzeichen" bezeichnet) identifiziert. Felddatentypen werden während der Konfiguration manuell festgelegt. |
Voraussetzungen
Bevor Sie den Connector verwenden, stellen Sie sicher, dass Sie folgendes auf dem Synchronisierungsserver haben:
- Microsoft .NET 4.6.2 Framework oder höher
- CSV-Dateien, die das gewünschte Schema für die folgenden Identitätstypen enthalten:
- Benutzerdatei (erforderlich)
- Gruppen (optional)
- Gruppenmitglieder (erforderlich, wenn Gruppen verwendet werden)
- (Optional) PowerShell-Skripts zum Verwalten der Vor- und Nachverarbeitung für die folgenden Vorgangstypenereignisse:
- Pre-Import: Dieses Skript wird ausgeführt, bevor ein Importvorgang ausgeführt wird.
- Nach dem Import: Dieses Skript wird ausgeführt, nachdem ein Importvorgang ausgeführt wurde.
- Pre-Export: Dieses Skript wird ausgeführt, bevor ein Exportvorgang ausgeführt wird.
- Nach dem Export: Dieses Skript wird ausgeführt, nachdem ein Exportvorgang ausgeführt wurde.
Kontoberechtigungen des MIM-Synchronisierungsdiensts
Wichtig
Das MIM 2016-Synchronisierungsdienstkonto ist der Sicherheitskontext, der die Dateivorgänge in CSV-Dateien ausführt und die PowerShell-Skripts vor/nach der Verarbeitung ausführt. Dieses Dienstkonto benötigt Lese-/Schreibberechtigungen für alle konfigurierten CSV- und PowerShell-Dateien. Außerdem sind die entsprechenden PowerShell ExecutePolicy-Berechtigungen erforderlich, um alle konfigurierten Skripts auszuführen.
Erstellen eines neuen Connectors
Die folgende Liste enthält eine allgemeine Übersicht über die in diesem Leitfaden beschriebenen Schritte. Um zu beginnen, muss ein Konto mit der Rolle MIM-Synchronisierungen Admin verwendet werden, um diese Aufgaben auszuführen:
- Öffnen Sie das Fenster Neuen Verwaltungs-Agent (MA) erstellen über die MIM-Synchronisierungs-Service Manager.
- Wählen Sie den generischen CSV-Connector als Connectortyp aus.
- Geben Sie den Dateipfad und den Namen der CSV-Datei an, die importiert oder exportiert werden soll.
- Geben Sie die Dateicodierung, das Werttrennzeichen, das Mehrwerttrennzeichen und den Textqualifizierer für die CSV-Datei an.
- Wählen Sie aus, ob die Werte in der ersten Zeile als Kopfzeilenfelder verwendet werden sollen oder nicht.
- Wählen Sie die Objekttypen und Attribute aus, die aus der CSV-Datei importiert oder exportiert werden sollen.
- Konfigurieren Sie die Partition, das Ausführen des Profils und die Zuordnungsdetails für den MA.
- Geben Sie ggf. die Skriptpfade und Parameter für die PowerShell-Skripts an.
- Führen Sie den MA aus, um die Import-, Synchronisierungs- oder Exportvorgänge auszuführen.
Um einen generischen CSV-Connector zu erstellen, wählen Sie unter Synchronisierungsdienstdie Option Verwaltungs-Agent und Erstellen aus. Wählen Sie den Generischen CSV-Connector (Microsoft) aus.
Konnektivität
Die Seite Konnektivität enthält die Dateispeicherorte der CSV-Dateien "Benutzer", "Gruppen" und "Gruppenmitglieder".
Die folgende Abbildung ist ein Beispiel für die Seite Konnektivität .
Die Speicherorte der folgenden CSV-Dateien werden auf dieser Seite angegeben:
- Benutzerdatei: Der vollqualifizierte Pfad der CSV-Datei, die die Benutzerdatensätze und ihre Attributwerte enthält. Diese Datei ist erforderlich.
- Gruppendatei: Der vollqualifizierte Pfad der CSV-Datei, die die Gruppendatensätze enthält. Diese Datei ist optional.
- Memberdatei: Der vollqualifizierte Pfad der CSV-Datei, die Verweisdatensätze für Gruppenmitglieder enthält.
Wichtig
Das KONTO des MIM-Synchronisierungsdiensts muss über Lese- und Schreibberechtigungen für alle angegebenen CSV-Dateien verfügen. Wie bereits erwähnt, sind die Gruppen- und Mitgliedsdateien nicht erforderlich, wenn nur Benutzer konfiguriert sind.
Der Konnektivitätsbildschirm ist der erste, der beim Erstellen eines neuen generischen SQL-Connectors angezeigt wird. Zunächst müssen Sie die folgenden Abschnittsinformationen angeben:
Funktionen
Auf dieser Seite werden die Funktionen des Connectors beschrieben. Connectorfunktionen sind fest und können nicht geändert werden, aber sie werden hier erläutert, um Informationen zur Funktionsweise des Connectors bereitzustellen.
Die folgende Abbildung zeigt ein Beispiel für die Seite "Funktionen" .
Im folgenden Abschnitt werden die einzelnen Konfigurationen und deren Bedeutungen aufgeführt:
- Distinguished Name Style (LDAP): Der GCSV-Connector verwendet die LDAP-Syntax (Lightweight Directory Access Protocol), um den DN (Distinguished Name) zu erstellen, um jedes User- oder Group-Objekt in seinem Connectorbereich eindeutig zu identifizieren. Alle DN-Werte werden im folgenden Format ausgedrückt: CN=[ANCHOR_VALUE],Object=[User|Gruppe],O=CSV.
-
Objektbestätigung (Normal): Normalerweise geht die Synchronisierungs-Engine davon aus, dass sie das Objekt in einem nachfolgenden Deltaimport nach einem Export erneut abrufen kann. So funktioniert normalerweise die Synchronisierungs-Engine, aber nicht alle verbundenen Systeme funktionieren auf diese Weise. Diese Einstellung von Normal stellt sicher, dass im Nachverfolgungsimport keine
exported-change-not-reimported
Warnung angezeigt wird. - Exporttyp (MultivaluedReferenceAttributeUpdate):Der Exporttyp gibt an, wie Objekte während der Synchronisierung formatiert und an das Zielsystem gesendet werden. MultivaluedReferenceAttributeUpdate ist ein Exporttyp, der für die Verwendung mit Microsoft Entra ID entwickelt wurde. Es sendet nur die Attribute, die geändert wurden. Für Werttypattribute wird AttributeReplace und für Verweisattribute AttributeUpdate verwendet.
- Normalisierungen (keine):Normalisierungen beziehen sich auf die Standardisierung von Daten in ein konsistentes Format. Keine bedeutet, dass keine bestimmten Normalisierungsregeln angewendet werden. Die Daten bleiben unverändert, ohne dass der Connector zusätzliche Transformationen vornehmen muss.
Schema 1 (CSV-Dateiformatkonfigurationen)
Der GCSV-Connector verwendet drei Arten von Trennzeichen (oder Trennzeichen), um CSV-Felder und deren Werte zu trennen und zu analysieren.
Diese Seite enthält die Zeichenwerteinstellungen für diese Trennzeichen und den Codierungstyp, der zum Erstellen der Datei als CSV verwendet wurde.
Die folgende Abbildung ist eine Abbildung der Seite Schema 1 (CSV-Dateiformatkonfigurationen).
Der folgende Abschnitt enthält eine Liste der einzelnen Konfigurationen:
- Verwenden von Headern für die Schemaermittlung: Wenn diese Option ausgewählt ist, wird der Connector angewiesen, den ersten Datensatz jeder CSV-Datei als Headerdatensatz und nicht als Identitätsdatensatz zu behandeln. Wenn diese Option nicht ausgewählt ist, weist der Connector den Namen Attribut mit einem angefügten eindeutigen inkrementierten ganzzahligen Wert zu (z. B . Attribut1, Attribut2 usw.) und behandelt die erste Zeile von als Identitätsdatensatz.
- Wertetrennzeichen: Dieses Zeichen trennt die Felder (d. h. Werte) der CSV-Datensätze. Das Komma (,) ist die Standardeinstellung, aber jedes alphanumerische Zeichen, das gedruckt werden kann, ist zulässig.
- Mehrwertiges Trennzeichen: Dieser Typ von Trennzeichen wird verwendet, um die einzelnen Werte einer mehrwertigen Zeichenfolge (z. B. Proxyadressen) oder Verweisattribute (z. B. untergeordnete Elemente) zu trennen. Der Standardwert ist ein Semikolon (;) aber jedes druckbare alphanumerische Zeichen ist akzeptabel.
- Textqualifizierer: Wenn ein Zeichenfolgenwert Zeichen enthält, die andernfalls als Trennzeichen interpretiert würden (z. B. Kommas), muss der Wert qualifiziert werden, damit der CSV-Parser die Zeichenfolge ordnungsgemäß als einzelnes Feld interpretieren kann. Die doppelten Anführungszeichen (") sind die Standardeinstellung, aber alle alphanumerischen Zeichen, die gedruckt werden können, sind zulässig.
Hinweis
Obwohl die Schemas von CSV-Dateien möglicherweise keine mehrwertigen Felder enthalten oder keine Werte enthalten, die eine Zeichenfolgenqualifizierung erfordern, ist die Bezeichnung eines eindeutigen druckbaren Zeichens für jeden Trennzeichentyp erforderlich.
- Dateicodierung: Diese Einstellung gibt die Codierung an, die für die CSV-Dateien verwendet wird, die auf der Registerkarte Konnektivität hinzugefügt wurden. Stellen Sie sicher, dass sie mit der Codierung Ihrer CSV-Dateien übereinstimmt.
Hinweis
Wenn Sie sich über den Codierungstyp Ihrer CSV-Dateien nicht sicher sind, sollten Sie versuchen, den Unicode-Standardcodierungstyp zu verwenden. Unicode ist ein gängiger Standard, der viele Zeichen und Symbole unterstützt, was es zu einer guten Option für die Codierung von Textdaten in den meisten Sprachen macht oder zeichensatz verwendet wird.
Schema 2 (Identitäts- und Verweisfeldkonfigurationen)
Der Ankerwert ist ein eindeutiger Bezeichner für einen Datensatz in einer CSV-Datei. Es unterscheidet einen Datensatz von den anderen. Der GCSV-Connector verwendet diesen Wert auch, um den Distinguished Name (DN) zu erstellen, der das zugehörige Connectorraumobjekt identifiziert.
Auf dieser Seite werden die Einstellungen für das Ankerattribute für jede der CSV-Dateien eingerichtet, die auf der Seite Konnektivität aufgeführt sind.
Die folgende Abbildung zeigt ein Beispiel für die Seite Schema 2 (Identitäts- und Verweisfeldkonfigurationen).
Der folgende Abschnitt enthält eine Liste der einzelnen Konfigurationen auf dieser Seite:
-
Benutzer
- Benutzeranker: Das Feld in der Benutzerdatei, das als Ankerwert für den Benutzerdatensatz dient. Das erste Kopfzeilenfeld in der Datei Benutzer ist die Standardauswahl.
- Benutzeranker-Attributtyp: Dies ist der Attributtyp des ausgewählten Ankers.
-
Gruppe
- Gruppenanker: Das Feld in der Gruppendatei, das als Ankerwert für den Gruppendatensatz dient. Das erste Kopfzeilenfeld in der Gruppendatei ist die Standardauswahl.
- Gruppenanker-Attributtyp: Dies ist der Attributtyp des ausgewählten Ankers.
-
Member
- ID der übergeordneten Gruppe: Das Feld in der Member-Datei, das denselben (Anker)-Wert wie die übergeordnete Gruppe in der CSV-Datei "Gruppen" aufweist. Das erste Feld in der Member-Datei wird standardmäßig verwendet.
- Member-ID: Das Feld in der Member-Datei, das denselben (Anker)-Wert wie in der CSV-Datei "Benutzer oder Gruppen" aufweist. Das zweite Feld in der Member-Datei ist standardmäßig ausgewählt.
- Elementobjekttyp: Das Feld, das entweder einen Zeichenfolgenwert "User" oder "Group" enthält, um den Objekttyp des Members anzugeben. Dieses Feld ist nur erforderlich, wenn die Memberdatei mehr als zwei Felder enthält. Das Feld Objekttyp darf nur den Zeichenfolgenwert "User" oder eine "Group" enthalten. Wenn dieses Feld fehlt, geht der Connector davon aus, dass die Member-Dateidatensätze auf einen User-Objektmember verweisen. Das dritte Feld in der Member-Datei ist standardmäßig ausgewählt.
Wichtig
Die Namen der Attribute, die als Anker verwendet werden sollen, müssen für alle Objekttypschemas eindeutig sein. Dies schließt die in der Datei "Gruppenmitglieder" angegebenen Anker ein.
Schema 3 (Benutzerdatei-Attributschemakonfigurationen)
Diese Seite dient zum Angeben und Erläutern des Datentyps der einzelnen Felder, die im Schema der CSV-Datei "Benutzer" identifiziert sind und ob sie mehr als einen Wert aufweisen können.
Die folgende Abbildung zeigt ein Beispiel für die Seite Schema 3 (Benutzerdatei-Attributschemakonfigurationen).
Im folgenden Abschnitt werden Überlegungen bei der Zuweisung von Attributdatentypen aufgeführt.
Unterstützte Datentypen
Der GCSV-Connector unterstützt die Verwendung der folgenden Abschnittsdatentypen:
- Boolescher Wert: Ein Wert, der entweder true oder false sein kann.
- Binär: Ein Wert, der als Bytesequenz gespeichert wird und in der Regel zum Speichern von Daten wie Bildern oder anderen Dateien verwendet wird.
- Integer: Ein Wert, der eine ganze Zahl ohne Dezimalstellen ist.
- String: Ein Wert, der eine Sequenz von Zeichen ist, die in der Regel zum Speichern von Textdaten verwendet wird.
- Verweis: Ein Wert, der ein Verweis auf ein anderes Benutzerobjekt ist. Um einen Verweiswert in einer CSV-Datei anzugeben, füllen Sie dessen Feld mit dem Ankerwert des verwiesenen Benutzerobjekts auf.
Wichtig
Benutzer- oder Gruppenverweisattribute können nur verwendet werden, um auf Benutzerobjekte zu verweisen. Dies gilt nicht für das Member-Attribut von Group-Objekten, das sowohl Benutzer- als auch Gruppenverweise enthalten kann, solange das Objekttypfeld angegeben ist.
Unterstützte Multiple-Value-Datentypen
Der Connector unterstützt die Verwendung mehrwertiger Attribute nur für die folgenden Datentypen:
- String
Hinweis
Wenn sowohl das Schema des User- als auch des Group-Objekts über ein (nicht ankerfähiges) Attribut mit demselben Namen verfügt, werden möglicherweise keine unterschiedlichen Datentypen zugewiesen. Beide müssen denselben Datentyp verwenden.
Schema 4 (Gruppendatei-Attributschemakonfigurationen)
Diese Seite dient zum Angeben und Erläutern des Datentyps der einzelnen Felder, die im Schema der CSV-Datei "Gruppen" identifiziert sind und ob sie mehr als einen Wert aufweisen können.
Die folgende Abbildung zeigt ein Beispiel für die Seite Schema 4 (Gruppendatei-Attributschemakonfigurationen).
Die in Schema 3 (Benutzerdatei-Attributkonfigurationen) angebotene Anleitung gilt auch für diesen Abschnitt. .
Nach dem Ausführen eines ersten vollständigen Importvorgangs sieht der Connectorbereich in etwa wie in der folgenden Abbildung aus:
Globale Parameter (Konfiguration von PowerShell-Skripts)
Diese Seite ermöglicht die Konfiguration von PowerShell-Skripts, die vor und/oder nach Import- und/oder Exportvorgängen ausgeführt werden. Diese Features bieten die Möglichkeit, eine Vielzahl von Pre- und Post-Verarbeitungsaktionen für Ihre Identitätsbenutzer- und Gruppendatensätze auszuführen.
Die folgende Abbildung ist ein Beispiel für die Seite Globale Parameter .
Im folgenden Abschnitt werden die einzelnen Konfigurationseinstellungen auf dieser Seite aufgeführt:
- Skripttimeout (Minuten): Die Anzahl der Minuten, die ein Skript ausgeführt wird, bevor es automatisch abgebrochen wird. Der Standardwert für diese Einstellung ist 100 und erfordert einen Wert größer als 0 (0).
- Skriptdatei vor dem Importieren: Der vollqualifizierte Pfad zum PowerShell-Skript, das vor einem Import ausgeführt werden soll. Diese Einstellung ist optional und erfordert keinen Wert.
- Skriptdatei nach dem Import: Der vollqualifizierte Pfad zum PowerShell-Skript, das nach einem Import ausgeführt werden soll. Diese Einstellung ist optional und erfordert keinen Wert.
- Vorexportskriptdatei: Der vollqualifizierte Pfad zum PowerShell-Skript, der vor einem Export ausgeführt werden soll. Diese Einstellung ist optional und erfordert keinen Wert.
- Skriptdatei nach dem Export: Der vollqualifizierte Pfad zum PowerShell-Skript, der nach einem Export ausgeführt werden soll. Diese Einstellung ist optional und erfordert keinen Wert.
PowerShell-Skriptausführung und Eingabeparameter
Der GCSV-Connector führt jedes der konfigurierten PowerShell-Skripts in einer eigenen Sitzung aus und unterstützt die Übergabe von Parametern zwischen den Phasen nicht.
Der Connector übergibt einen Eingabeparameter an jedes Skript namens OperationType. Der Wert dieses Parameters variiert je nach ausgeführter Ausführungsprofiloperation und kann einen von drei Werten sein:
Wichtig
Die dynamische Erstellung von CSV-Dateien vor Import- oder Exportvorgängen wird nicht unterstützt. Die alle CSV-Dateien müssen vorhanden sein, bevor alle für Ausführungsprofile ausgeführt werden.
PowerShell-Eingabeparameter: OperationType
Obwohl die Verwendung von Eingabeparametern nicht unterstützt wird, übergibt der GCSV-Connector einen Eingabeparameter an die Ausführung jedes PowerShell-Skripts: OperationType
.
- Vollständig : Dieser Wert wird während der Vorgänge "Vollständiger Import" oder "Vollständiger Export" bereitgestellt.
- Delta : Dieser Wert wird bei Exportvorgängen bereitgestellt.
Dieser Parameterwert kann in der Logik der PowerShell-Skripts verwendet werden, um den entsprechenden Vor-/Nachverarbeitungsvorgang oder die auszuführende Aktion zu bestimmen.
Bereitstellungshierarchie
Da CSV-Dateien keine Informationen in einer hierarchischen Struktur speichern, unterstützt der GCSV-Connector keine hierarchischen Bereitstellungskonfigurationen.
Die folgende Abbildung ist ein Beispiel für die Seite Bereitstellungshierarchie .
Partitionen und Hierarchien
Der GCSV-Connector erstellt einen eindeutigen distinguished Name (DN) für jeden Benutzer- und Gruppendatensatz in seinem Connectorraum nach diesem LDAP-Format:
CN=[ANCHOR_VALUE],Object=User|Group,O=CSV
Die folgende Abbildung ist ein Beispiel für die Seite Partitionen und Hierarchien .
Objekttyp
Für den GCSV-Connector muss mindestens der Benutzerobjekttyp ausgewählt werden. Die Auswahl des Group-Objekttyps ist optional.
Die folgende Abbildung ist ein Beispiel für die Seite Objekttypen .
Attribute
Auf dieser Seite wird eine normalisierte Liste aller Attribute für alle ausgewählten Objekttypschemas angezeigt.
Die folgende Abbildung ist ein Beispiel für die Seite Attribute .
Hinweis
Das Member-Attribut ist nur vorhanden, wenn Gruppen ausgewählt sind und die Verweise auf Objekte enthält, die in den CSV-Dateien der Gruppenmitglieder verwaltet werden.
Anchors
Der GCSV-Connector unterstützt weder komplexe Anker noch Ankerattributekonfigurationen, die sich von den Anker-ID-Feldern der entsprechenden CSV-Datei unterscheiden.
Um die auf dieser Seite angezeigten Ankerbezeichnungen zu ändern, kehren Sie zu Schema 2 (Ankerkonfigurationen) zurück.
Die folgende Abbildung ist ein Beispiel für die Seite Anker .
Bereitstellen von CSV-Datensätzen
Damit der GCSV-Connector den entsprechenden CSV-Dateien neue Benutzer- oder Gruppenobjekte hinzufügen kann, muss ein neues Connector space Object bereitgestellt werden.
Unabhängig davon, ob Sie entweder die deklarative BEREITSTELLUNG von MIM 2016 verwenden oder Ihre eigenen ERWEITERUNGEN für MIM-Synchronisierungsregeln schreiben, müssen neue Connector Space-Objekte einen DN im folgenden Format erstellen:
CN=[ANCHOR_VALUE],Object=User|Gruppe,O=CSV
Die folgende Tabelle enthält Details zu den einzelnen Komponentenwerten:
Komponente | Notizen |
---|---|
CN=[ANKERWERT] | Der allgemeine Name (Common Name, CN) muss ein eindeutiger Wert sein und wird in das angegebene Ankerfeld der CSV-Datei geschrieben. |
Object=Benutzer/Gruppe | Diese Komponente gibt den Objekttyp dieses Connectors an. Unterstützt nur "Benutzer" oder "Gruppe". |
O=CSV | Die Stammkomponente, die allen GCSV-Connectorraumobjekten gemeinsam ist. |
Die folgende Abbildung ist eine Synchronisierungsregel , die veranschaulicht, wie ein DN ordnungsgemäß erstellt wird, wenn ein neues Benutzerobjekt in einem GCSV-Connector bereitgestellt wird:
Der folgende Code veranschaulicht die entsprechende Bereitstellungslogik mithilfe von Metaverse-Regelerweiterungen.
void IMVSynchronization.Provision(MVEntry mventry)
{
if (mventry["employeeID"].IsPresent)
{
ConnectedMA GCSVConnector = = mventry.ConnectedMAs["Generic CSV Conenctor"];
if (GCSVConnector.Connectors.Count == 0)
{
CSEntry csentry = GCSVConnector.Connectors.StartNewConnector("user");
//Sets DN to "CN=[ANCHOR_VALUE],OBJECT=[User|Group],O=CSV"
csentry.DN = GCSVConnector.EscapeDNComponent("CN=" + mventry["employeeID"].Value).Concat("OBJECT=User,O=CSV");
csentry["AccountName"].StringValue = mventry["accountName"].StringValue;
csentry["CountryCode"].IntegerValue = 1;
csentry["DisplayName"].Value = mventry["displayName"].Value;
csentry["ProxyAddresses"].Value = mventry["proxyAddressCollection"].Value;
csentry["IsActive"].BooleanValue = true;
csentry["Manager"].Value = mventry["manager"].Value;
csentry["ProfilePic"].Value = mventry["pic"].Value;
csentry.CommitNewConnector();
}
}
}
Beachten Sie in der vorherigen Abbildung die Verwendung der EcapeDNComponent()
Funktion, um sicherzustellen, dass der Ankerwert ordnungsgemäß escaped ist, um mit seiner LDAP-Syntax kompatibel zu sein.
Wichtig
Wenn sie beim Erstellen eines DN nicht ordnungsgemäß den Ankerwert entweichen, führt dies zu einem invalid‑dn
Fehler.
CSV-Feldformatierungsbeispiele
In den folgenden Abschnitten werden Beispiele für das Formatieren verschiedener Datentypen in CSV-Dateien aufgeführt. Alle Beispiele Im folgenden Abschnitt wird die Verwendung der Standardeinstellungen des Feldtrennzeichens des Connectors vorausgesetzt:
- Wert getrennt: Komma (,)
- Mehrwerttrennzeichen: Semi-Colon (;)
- Textqualifizierer: Doppelte Anführungszeichen (")
Beispiel: Textqualifizierung
Wenn ein Zeichenfolgenwert Zeichen enthält, die andernfalls als Trennzeichen interpretiert würden (z. B. Kommas), muss der Wert qualifiziert sein, damit der CSV-Parser die Zeichenfolge ordnungsgemäß als einzelnes Feld interpretieren kann.
Das csv-Beispiel des folgenden Abschnitts zeigt, wie das DisplayName-Feld Werte enthält, die als qualifizierter Text formatiert sind:
EmployeeID,DisplayName
E001,"Smith, John"
E002,"Doe, Jane"
E003,"Perez, Juan"
Beispiel: Trennen von mehrwertigen Zeichenfolgen
Um mehrere Zeichenfolgenwerte innerhalb eines Zeichenfolgenfelds bereitzustellen, trennen Sie die Werte mit dem Trennzeichen Multivalue. Im csv-Beispiel des folgenden Abschnitts wird gezeigt, wie das ProxyAddress-Feld mit mehreren Werten angezeigt wird:
EmployeeID,DisplayName,ProxyAddresses
E001,"Smith, John",SMTP:john.smith@contoso.com;smtp:js001@contoso.com
E002,"Doe, Jane",SMTP:jane.doe@contoso.com;smtp:jd002@contoso.com
Hinweis
Multivalued String unterstützt auch die Verwendung von Zeichenfolgenqualifizierten Werten. Textqualifizierte Werte können durch mehrwertige Trennzeichen getrennt werden.
Beispiel: Verweisfelder
Um einen Verweiswert in einer CSV-Datei anzugeben, füllen Sie dessen Feld mit dem Ankerwert des verwiesenen Benutzerobjekts auf. Im CSV-Beispiel des folgenden Abschnitts enthält das Feld Manager den Ankerwert des Benutzerdatensatzes, auf den es verweist:
EmployeeID,DisplayName,Manager
E001,"Smith, John",
E002,"Doe, Jane",E001
E003,"Doe, Jane",
E004,"Perez, Juan",
Beispiel: Binärfelder
Um Binärwerte in CSV-Dateien auszudrücken, müssen sie in Base64-Zeichenfolgen konvertiert werden, die denselben Codierungstyp wie die CSV-Datei verwenden. Der folgende Abschnitt powerShell-Funktion veranschaulicht, wie ein Zeichenfolgenwert in die base64-codierte Zeichenfolge in Unicode codiert wird:
function ConvertTo-Base64([string]$text)
{
$bytes = [System.Text.Encoding]::Unicode.GetBytes($text)
$encodedText = [System.Convert]::ToBase64String($bytes)
return $encodedText
}
Hier ist die entsprechende Funktion in C#, die einen Eingabeparameter namens text akzeptiert und eine base64-codierte Zeichenfolge in Unicode zurückgibt.
public static string ConvertToBase64(string text)
{
byte[] bytes = System.Text.Encoding.UTF8.GetBytes(text);
string encodedText = System.Convert.ToBase64String(bytes);
return encodedText;
}
Beispiel: Boolesche Felder
CSV-Dateien, die boolesche Felder enthalten, sollten entweder den Text True oder False verwenden, um ihren Wert anzugeben. Der folgende Abschnitt ist ein
EmployeeID,DisplayName,IsActive
E001,"Smith, John",true
E002,"Doe, Jane",true
E003,"Perez, Juan",false
Bekannte Einschränkungen
Die folgende Liste enthält die bekannten Einschränkungen des GCSV-Connectors.
-
Verweisattribute
- Anders als das Group Member-Attribut werden mehrwertige Verweisattribute nicht unterstützt.
- Der Verweiswert muss auf Benutzerobjekte verweisen. Verweise auf Gruppenobjekte werden nicht unterstützt.
-
Anchors
- Doppelte Ankerwerte zwischen Benutzer- und Gruppenobjekten werden nicht unterstützt.
- Die Namen der Ankerattribute müssen über Benutzer- und Gruppenschemas hinweg eindeutig sein.
-
PowerShell
- Die Übergabe von Eingabevariablen an PowerShell-Skripts wird nicht unterstützt.