Ogólny łącznik CSV — przewodnik po dokumentacji technicznej (wersja zapoznawcza)
W tym artykule opisano ogólny łącznik CSV (GCSV). Artykuł dotyczy następujących produktów:
W przypadku programu MIM 2016 łącznik jest dostępny do pobrania z Centrum pobierania Microsoft.
Aby zobaczyć, jak działa ten łącznik, zobacz artykuł krok po kroku ogólny łącznik SQL Connector .
Uwaga
Usługa aprowizacji Azure AD udostępnia teraz uproszczone rozwiązanie oparte na agencie na potrzeby aprowizowania użytkowników w plikach CSV bez pełnego wdrożenia synchronizacji programu MIM. Zalecamy ocenę, czy spełnia Twoje potrzeby. Dowiedz się więcej.
Omówienie ogólnego łącznika CSV
Łącznik ogólnego pliku CSV (GCSV) umożliwia integrację danych tożsamości użytkowników i grup przechowywanych w plikach CSV z produktami firmy Microsoft, takimi jak Microsoft Entra Connect Provisioning Agent (ECMA2Host) i Microsoft Identity Manager 2016 (MIM2016).
Ma ona różne funkcje, takie jak możliwość organizowania używania programu PowerShell do zarządzania danymi tożsamości przed importami lub eksportami. Oferuje obsługę wielu typów danych, w tym binarnych i odwołań, obsługę wartości kwalifikowanych ciągów i ciągów wielowartościowych.
W tym artykule opisano funkcje i funkcje ogólnego łącznika CSV oraz sposób konfigurowania go dla programu MIM 2016.
W poniższej tabeli wymieniono funkcje obsługiwane przez bieżącą wersję łącznika z perspektywy wysokiego poziomu:
Cecha | Szczegóły |
---|---|
Obsługa wielu produktów | Korzystanie z tego łącznika jest obsługiwane w następujących produktach firmy Microsoft: |
Obsługiwane pliki CSV | Ten łącznik obsługuje zarządzanie użytkownikami (wymaganymi) i grupami (opcjonalnie) za pośrednictwem konfiguracji maksymalnie trzech plików CSV: |
Przetwarzanie operacji przed/po operacji za pomocą programu PowerShell | Ten łącznik obsługuje konfigurację maksymalnie czterech (4) skryptów programu PowerShell, aby ułatwić wstępne lub końcowe przetwarzanie danych tożsamości użytkowników i grup przed importem lub eksportem. |
Obsługiwane kodowanie plików CSV | Łącznik obsługuje wszystkie domyślne (lub zainstalowane) typy kodowania serwera: (np. Unicode, UTF-8, UTF-7, ASCII itp.) |
Obsługiwane typy danych pól CSV | Łącznik obsługuje następujące typy danych atrybutów: |
Ogranicznik pola CSV | Obsługa przecinków (,) lub dowolnego drukowalnego znaku alfamerycznego w celu zakwalifikowania początku i końca dowolnej wartości ciągu. |
Obsługa kwalifikacji ciągów | Obsługa podwójnych cudzysłowów (") lub dowolnego znaku alfamerycznego, aby kwalifikować początek i koniec dowolnej wartości ciągu. |
Obsługa ciągów wielowartościowych | Obsługa ciągów wielowartościowych |
Obsługiwane operacje łącznika | Łącznik obsługuje następujące operacje: |
Schemat | Odnajdywanie schematów jest dynamiczne, ale wymaga ręcznej konfiguracji do ukończenia. Pola są dynamicznie identyfikowane na podstawie określonego ogranicznika (lub nazywanego separatorem wartości). Typy danych pól są określane ręcznie podczas konfiguracji. |
Wymagania wstępne
Przed rozpoczęciem korzystania z łącznika upewnij się, że na serwerze synchronizacji są następujące elementy:
- Program Microsoft .NET 4.6.2 Framework lub nowszy
- Pliki CSV zawierające żądany schemat dla następujących typów tożsamości:
- Plik użytkowników (wymagany)
- Grupy (opcjonalnie)
- Członkowie grupy (wymagane, jeśli są używane grupy)
- (Opcjonalnie) Skrypty programu PowerShell do zarządzania przetwarzaniem wstępnym i po nim dla następujących zdarzeń typów operacji:
- Przed importowaniem — ten skrypt jest wykonywany przed uruchomieniem operacji importowania.
- Po zaimportowaniu — ten skrypt jest wykonywany po uruchomieniu operacji importowania.
- Przed eksportowaniem — ten skrypt jest wykonywany przed uruchomieniem operacji eksportowania.
- Po wyeksportowaniu — ten skrypt jest wykonywany po uruchomieniu operacji eksportowania.
Uprawnienia konta usługi synchronizacji programu MIM
Ważne
Konto usługi synchronizacji programu MIM 2016 jest kontekstem zabezpieczeń, który wykonuje operacje na plikach CSV i uruchamia skrypty programu PowerShell przed/po przetwarzaniu. To konto usługi wymaga uprawnień do odczytu/zapisu dla wszystkich skonfigurowanych plików CSV i PowerShell. Wymaga również odpowiednich uprawnień ExecutePolicy programu PowerShell do uruchamiania wszystkich skonfigurowanych skryptów.
Tworzenie nowego łącznika
Poniższa lista zawiera ogólne omówienie kroków opisanych w tym przewodniku. Aby rozpocząć, do wykonywania tych zadań należy użyć konta z rolą Administracja synchronizacji programu MIM:
- Otwórz okno Tworzenie nowego agenta zarządzania (MA) z Service Manager synchronizacji programu MIM.
- Wybierz ogólny łącznik CSV jako typ łącznika.
- Podaj ścieżkę pliku i nazwę pliku CSV do zaimportowania lub wyeksportowania.
- Określ kodowanie pliku, separator wartości, separator wielu wartości i kwalifikator tekstu dla pliku CSV.
- Określ, czy wartości w pierwszym wierszu mają być używane jako pola nagłówka, czy nie.
- Wybierz typy obiektów i atrybuty do zaimportowania lub wyeksportowania z pliku CSV.
- Skonfiguruj partycję, uruchom profil i szczegóły mapowania dla programu MA.
- Podaj ścieżki i parametry skryptów programu PowerShell, jeśli istnieją.
- Uruchom narzędzie MA, aby wykonać operacje importowania, synchronizacji lub eksportowania.
Aby utworzyć ogólny łącznik CSV, w usłudze synchronizacji wybierz pozycję Agent zarządzania i Utwórz. Wybierz ogólny łącznik CSV (Microsoft).
Łączność
Strona Łączność zawiera lokalizacje plików CSV Użytkownicy, Grupy i Członkowie grupy.
Na poniższej ilustracji przedstawiono przykład strony Łączność .
Lokalizacje następujących plików CSV są określone na tej stronie:
- Plik użytkowników: w pełni kwalifikowana ścieżka pliku CSV, który zawiera rekordy użytkownika i ich wartości atrybutów. Ten plik jest wymagany.
- Plik grup: w pełni kwalifikowana ścieżka pliku CSV zawierającego rekordy grupy. Ten plik jest opcjonalny.
- Plik elementów członkowskich: w pełni kwalifikowana ścieżka pliku CSV, który zawiera rekordy odwołania do składowych grupy.
Ważne
Konto usługi synchronizacji programu MIM musi mieć uprawnienia do odczytu i zapisu do wszystkich wyznaczonych plików CSV. Jak wspomniano wcześniej, pliki grupy i członków nie są konieczne, jeśli tylko użytkownicy są skonfigurowani.
Ekran Łączność jest pierwszym elementem podczas tworzenia nowego ogólnego łącznika SQL. Najpierw należy podać następujące informacje sekcji:
Możliwości
Na tej stronie opisano możliwości łącznika. Możliwości łącznika są stałe i nie można ich zmienić, ale wyjaśniono je tutaj, aby uzyskać informacje na temat sposobu działania łącznika.
Na poniższej ilustracji przedstawiono przykład strony Możliwości .
W poniższej sekcji wymieniono poszczególne konfiguracje i ich znaczenie:
- Styl nazwy wyróżniającej (LDAP): Łącznik GCSV używa składni LDAP (Lightweight Directory Access Protocol) do konstruowania dn (nazwy wyróżniającej) w celu unikatowego identyfikowania każdego obiektu użytkownika lub grupy w przestrzeni łącznika. Wszystkie wartości DN są wyrażone w następującym formacie: CN=[ANCHOR_VALUE], Object=[User|Group],O=CSV.
-
Potwierdzenie obiektu (normalne): zwykle aparat synchronizacji zakłada, że może ponownie pobrać obiekt w kolejnym importowaniu różnicowym po eksporcie. W ten sposób działa zwykle aparat synchronizacji, ale nie wszystkie połączone systemy działają w ten sposób. To ustawienie normalne zapewnia, że podczas importowania po zakończeniu nie ma
exported-change-not-reimported
żadnego ostrzeżenia. - Typ eksportu (MultivaluedReferenceAttributeUpdate): Typ eksportu określa sposób formatowania i wysyłania obiektów do systemu docelowego podczas synchronizacji. MultivaluedReferenceAttributeUpdate to typ eksportu przeznaczony do pracy z Tożsamość Microsoft Entra. Wysyła tylko zmienione atrybuty. W przypadku atrybutów typu wartości używa atrybutu AttributeReplace i atrybutów referencyjnych, używa atrybutu AttributeUpdate.
- Normalizacje (None): Normalizacje odnoszą się do standaryzacji danych do spójnego formatu. Brak oznacza, że nie są stosowane żadne konkretne reguły normalizacji. Dane pozostają bez żadnych dodatkowych przekształceń łącznika.
Schemat 1 (konfiguracje formatu pliku CSV)
Łącznik GCSV wykorzystuje trzy rodzaje separatorów (lub ograniczników) do ogranicznika i analizowania pól CSV i ich wartości.
Ta strona zawiera ustawienia wartości znaków dla tych separatorów i typ kodowania, który został użyty do utworzenia pliku jako CSV.
Na poniższej ilustracji przedstawiono obraz strony Schemat 1 (konfiguracje formatu plików CSV).
Poniższa sekcja zawiera listę poszczególnych konfiguracji:
- Użyj nagłówków do odnajdywania schematu: po wybraniu tej opcji łącznik traktuje pierwszy rekord każdego pliku CSV jako rekord nagłówka, a nie rekord danych tożsamości. Jeśli ta opcja nie jest zaznaczona, łącznik przypisuje nazwę Atrybut z dołączoną unikatową, przyrostową wartością całkowitą (na przykład Attribute1, Attribute2 itp.) i traktuje pierwszy wiersz jako rekord danych tożsamości.
- Separator wartości: ten znak oddziela pola (czyli wartości) rekordów CSV. Przecinek (,) jest domyślny, ale dozwolony jest dowolny znak alfanumeryczny, który można wydrukować.
- Separator wielowartościowy: ten typ separatora służy do rozdzielenia poszczególnych wartości ciągu wielowartościowego (na przykład adresów serwera proxy) lub atrybutów odwołania (na przykład podrzędnych). Wartość domyślna to średnik (;) ale dopuszczalny jest dowolny drukowalny znak alfanumeryczny.
- Kwalifikator tekstu: gdy wartość ciągu zawiera znaki, które w przeciwnym razie byłyby interpretowane jako ograniczniki (na przykład przecinki), wymaga, aby wartość była kwalifikowana, aby analizator CSV mógł poprawnie interpretować ciąg jako jedno pole. Cudzysłowy (") są domyślne, ale dowolny znak alfanumeryczny, który można wydrukować, jest dozwolony.
Uwaga
Chociaż schematy plików CSV nie mogą zawierać żadnych pól wielowartościowych lub nie mogą zawierać żadnych wartości, które wymagają kwalifikacji ciągów, wymagane jest oznaczenie unikatowego znaku drukowalnego dla każdego typu separatora.
- Kodowanie plików: to ustawienie wskazuje kodowanie używane w plikach CSV dodanych na karcie Łączność. Upewnij się, że jest ono zgodne z kodowaniem plików CSV.
Uwaga
Jeśli nie masz pewności co do typu kodowania plików CSV, spróbuj użyć domyślnego typu kodowania Unicode. Unicode jest typowym standardem, który obsługuje wiele znaków i symboli, co czyni go dobrym rozwiązaniem do kodowania danych tekstowych w większości języków lub zestawu znaków.
Schemat 2 (konfiguracje pól tożsamości i odwołań)
Wartość kotwicy jest unikatowym identyfikatorem rekordu w pliku CSV. Odróżnia jeden rekord od innych. Łącznik GCSV używa również tej wartości do utworzenia nazwy wyróżniającej (DN), która identyfikuje powiązany obiekt obszaru łącznika.
Na tej stronie ustawienia atrybutu kotwicy są konfigurowane dla każdego z plików CSV wymienionych na stronie Łączność.
Na poniższej ilustracji przedstawiono przykład strony Schema 2 (Identity and Reference Field Configurations).
Poniższa sekcja zawiera listę poszczególnych konfiguracji na tej stronie:
-
Użytkownik
- Kotwica użytkownika: pole w pliku Użytkownicy, które służy jako wartość kotwicy rekordu użytkownika. Pierwsze pole nagłówka w pliku Użytkownicy jest domyślnym wyborem.
- Typ atrybutu Kotwica użytkownika: jest to typ atrybutu wybranej kotwicy.
-
Grupa
- Kotwica grupy: pole w pliku Grupy, które służy jako wartość kotwicy dla rekordu grupy. Pierwsze pole nagłówka w pliku Grupy jest domyślnym wyborem.
- Typ atrybutu Kotwica grupy: jest to typ atrybutu wybranej kotwicy.
-
Członek
- Identyfikator grupy nadrzędnej: pole w pliku Członkowie, które ma taką samą wartość (kotwicę) co grupa nadrzędna w pliku CSV grup. Pierwsze pole w pliku Członkowie jest używane domyślnie.
- Identyfikator elementu członkowskiego: pole w pliku Członkowie, które ma taką samą wartość (kotwicę), co w pliku CSV Użytkownicy lub grupy. Drugie pole w pliku Członkowie jest domyślnie zaznaczone.
- Typ obiektu członkowskiego: pole zawierające wartość ciągu "Użytkownik" lub "Grupa" wskazujące typ obiektu elementu członkowskiego. To pole jest wymagane tylko wtedy, gdy plik członkowski zawiera więcej niż dwa pola. Pole Typ obiektu musi zawierać tylko wartość ciągu "Użytkownik" lub "Grupa". Jeśli brakuje tego pola, łącznik zakłada, że rekordy plików Członków odwołują się do elementu członkowskiego obiektu Użytkownika. Trzecie pole znalezione w pliku Członkowie jest domyślnie zaznaczone.
Ważne
Nazwy atrybutów wyznaczonych do użycia jako kotwice muszą być unikatowe we wszystkich schematach typów obiektów. Obejmuje to kotwice określone w pliku członków grupy.
Schemat 3 (konfiguracje schematu atrybutów plików użytkowników)
Ta strona służy do określania i wyjaśnienia typu danych każdego z pól, które są identyfikowane w schemacie pliku CSV Użytkownicy i czy mogą mieć więcej niż jedną wartość.
Na poniższej ilustracji przedstawiono przykład strony Schemat 3 (Konfiguracja schematu atrybutu pliku użytkowników).
W poniższej sekcji wymieniono zagadnienia dotyczące przypisywania typów danych atrybutów.
Obsługiwane typy danych
Łącznik GCSV obsługuje użycie następujących typów danych sekcji:
- Wartość logiczna: wartość, która może mieć wartość true lub false.
- Binarne: wartość przechowywana jako sekwencja bajtów, zwykle używana do przechowywania danych, takich jak obrazy lub inne pliki.
- Liczba całkowita: wartość będąca liczbą całkowitą bez miejsc dziesiętnych.
- Ciąg: wartość, która jest sekwencją znaków, zwykle używana do przechowywania danych tekstowych.
- Odwołanie: wartość, która jest odwołaniem do innego obiektu użytkownika. Aby określić wartość odwołania w pliku CSV, wypełnij pole wartością zakotwiczenia obiektu użytkownika.
Ważne
Atrybuty odwołania użytkownika lub grupy mogą służyć tylko do odwoływania się do obiektów użytkownika. Nie dotyczy to atrybutu składowego obiektów grupy, który może zawierać odwołania do użytkownika lub grupy tak długo, jak określono pole typu obiektu.
Obsługiwane typy danych Multiple-Value
Łącznik obsługuje używanie atrybutów wielowartościowych tylko dla następujących typów danych:
- Ciąg
Uwaga
Jeśli schemat obiektów Użytkownik i Grupa mają atrybut (niekotwicy) o tej samej nazwie, różne typy danych mogą nie być przypisane między nimi. Oba te elementy muszą współużytkować ten sam typ danych.
Schemat 4 (grupy konfiguracji schematu atrybutu pliku)
Ta strona służy do określania i wyjaśnienia typu danych każdego z pól, które są identyfikowane w schemacie pliku CSV grupy i czy mogą mieć więcej niż jedną wartość.
Na poniższej ilustracji przedstawiono przykład strony Schemat 4 (Grupy Konfiguracji schematu atrybutu pliku).
Wskazówki oferowane w schemacie 3 (Konfiguracja atrybutów plików użytkowników dotyczy również tej sekcji. .
Po uruchomieniu początkowej operacji pełnego importowania miejsce łącznika będzie wyglądać podobnie do obrazu na poniższej ilustracji:
Parametry globalne (konfiguracja skryptów programu PowerShell)
Ta strona umożliwia konfigurację skryptów programu PowerShell, które będą uruchamiane przed i/lub po operacji importowania i/lub eksportowania. Te funkcje zapewniają możliwość wykonywania różnorodnych akcji przetwarzania wstępnego i końcowego na rekordach użytkowników tożsamości i grup.
Na poniższej ilustracji przedstawiono przykład strony Parametry globalne .
Poniższa sekcja zawiera listę poszczególnych ustawień konfiguracji na tej stronie:
- Limit czasu skryptu (w minutach): liczba minut, przez które skrypt zostanie uruchomiony, zanim zostanie on automatycznie przerwany. Wartość domyślna tego ustawienia to 100 i wymaga wartości większej niż zero (0).
- Plik skryptu przed zaimportowania: w pełni kwalifikowana ścieżka do skryptu programu PowerShell, który powinien zostać uruchomiony przed importem. To ustawienie jest opcjonalne i nie wymaga wartości.
- Plik skryptu po zaimportowaniu: w pełni kwalifikowana ścieżka do skryptu programu PowerShell, który powinien zostać uruchomiony po zaimportowaniu. To ustawienie jest opcjonalne i nie wymaga wartości.
- Plik skryptu przed wyeksportowania: w pełni kwalifikowana ścieżka do skryptu programu PowerShell, który powinien zostać uruchomiony przed eksportem. To ustawienie jest opcjonalne i nie wymaga wartości.
- Plik skryptu po wyeksportowaniu: w pełni kwalifikowana ścieżka do skryptu programu PowerShell, który powinien zostać uruchomiony po wyeksportowaniu. To ustawienie jest opcjonalne i nie wymaga wartości.
Wykonywanie skryptu programu PowerShell i parametry wejściowe
Łącznik GCSV wykonuje każdy ze skonfigurowanych skryptów programu PowerShell we własnej sesji i nie obsługuje przekazywania parametrów między etapami nie jest obsługiwany.
Łącznik przekazuje jeden parametr wejściowy do każdego skryptu o nazwie OperationType. Wartość tego parametru różni się w zależności od wykonywanej operacji profilu uruchamiania i może być jedną z trzech wartości:
Ważne
Dynamiczne tworzenie plików CSV przed operacjami importowania lub eksportowania nie jest obsługiwane. Wszystkie pliki CSV muszą być obecne, zanim zostaną wykonane jakiekolwiek dla profilów uruchamiania.
Parametr wejściowy programu PowerShell: OperationType
Chociaż użycie parametrów wejściowych nie jest obsługiwane, łącznik GCSV przekazuje jeden parametr wejściowy do wykonywania każdego skryptu programu PowerShell: OperationType
.
- Full — ta wartość jest udostępniana podczas operacji pełnego importu lub pełnego eksportu.
- Delta — ta wartość jest udostępniana podczas operacji eksportowania.
Tej wartości parametru można użyć w ramach logiki skryptów programu PowerShell, aby określić odpowiednią operację przetwarzania wstępnego/końcowego lub akcję do wykonania.
Hierarchia aprowizacji
Ponieważ pliki CSV nie przechowują informacji w strukturze hierarchicznej, łącznik GCSV nie obsługuje żadnych hierarchicznych konfiguracji aprowizacji.
Na poniższej ilustracji przedstawiono przykład strony Hierarchia aprowizacji .
Partycje i hierarchie
Łącznik GCSV tworzy odrębną nazwę wyróżniającą dla każdego rekordu użytkownika i grupy w przestrzeni łącznika, zgodnie z następującym formatem LDAP:
CN=[ANCHOR_VALUE],Object=User|Group,O=CSV
Na poniższej ilustracji przedstawiono przykład strony Partycje i hierarchie .
Typy obiektów
Łącznik GCSV wymaga wybrania co najmniej typu obiektu Użytkownik. Wybór typu obiektu Grupuj jest opcjonalny.
Na poniższej ilustracji przedstawiono przykład strony Typy obiektów .
Atrybuty
Na tej stronie jest wyświetlana znormalizowana lista wszystkich atrybutów we wszystkich schematach typu wybranego obiektu.
Na poniższej ilustracji przedstawiono przykład strony Atrybuty .
Uwaga
Atrybut Członek będzie istnieć tylko wtedy, gdy wybrano grupy i będzie zawierać odwołania do obiektów przechowywanych w plikach CSV elementów członkowskich grupy.
Kotwice
Łącznik GCSV nie obsługuje używania złożonych kotwic ani konfiguracji atrybutów kotwicy, które różnią się od odpowiednich pól identyfikatora kotwicy pliku CSV.
Aby zmienić oznaczenia kotwicy wyświetlane na tej stronie, wróć do schematu 2 (konfiguracje kotwicy).
Na poniższej ilustracji przedstawiono przykład strony Kotwice .
Inicjowanie obsługi administracyjnej rekordów CSV
Aby łącznik GCSV mógł dodawać nowe obiekty użytkowników lub grup do odpowiednich plików CSV, należy aprowizować nowy obiekt obszaru łącznika.
Niezależnie od tego, czy jest używane aprowizowanie deklaratywne programu MIM 2016 , czy pisanie własnych rozszerzeń reguł synchronizacji programu MIM, nowe obiekty obszaru łącznika muszą mieć skonstruowaną nazwę WYRÓŻNIAJĄCą przy użyciu następującego formatu:
CN=[ANCHOR_VALUE],Object=User|Group,O=CSV
Poniższa tabela zawiera szczegółowe informacje dotyczące poszczególnych wartości składników:
Składnik | Uwagi |
---|---|
CN=[ANCHOR VALUE] | Nazwa pospolita (CN) musi być unikatową wartością i zostanie zapisana w wyznaczonym polu kotwicy pliku CSV. |
Object=User/Group | Ten składnik wskazuje typ obiektu tego łącznika. Obsługuje tylko opcję "Użytkownik" lub "Grupa". |
O=CSV | Składnik główny wspólny dla wszystkich obiektów przestrzeni łącznika GCSV. |
Na poniższej ilustracji przedstawiono regułę synchronizacji , która pokazuje, jak prawidłowo skonstruować nazwę wyróżniającą podczas aprowizowania nowego obiektu użytkownika w łączniku GCSV:
Poniższy kod przedstawia równoważną logikę aprowizacji przy użyciu rozszerzeń reguł metaverse.
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();
}
}
}
Na poprzedniej ilustracji zwróć uwagę na użycie EcapeDNComponent()
funkcji , aby upewnić się, że wartość kotwicy została prawidłowo uniknięta, aby zapewnić zgodność ze składnią LDAP.
Ważne
Niewłaściwie ucieczka wartości kotwicy podczas konstruowania dnu spowoduje invalid‑dn
wystąpienie błędu.
Przykłady formatowania pól CSV
W poniższych sekcjach wymieniono przykłady formatowania różnych typów danych w plikach CSV. Wszystkie przykłady W poniższej sekcji założono użycie domyślnych ustawień ogranicznika pól łącznika:
- Oddzielna wartość: przecinek (,)
- Separator wielowartościowy: Semi-Colon (;)
- Kwalifikator tekstu: cudzysłowy podwójne (")
Przykład: kwalifikacja tekstu
Jeśli wartość ciągu zawiera znaki, które w przeciwnym razie byłyby interpretowane jako ograniczniki (na przykład przecinki), wymaga, aby wartość była kwalifikowana, aby analizator CSV mógł poprawnie interpretować ciąg jako jedno pole.
W poniższej sekcji przykład pliku CSV pokazano, jak pole DisplayName zawiera wartości sformatowane jako kwalifikowany tekst:
EmployeeID,DisplayName
E001,"Smith, John"
E002,"Doe, Jane"
E003,"Perez, Juan"
Przykład: rozdzielanie ciągów wielowartościowych
Aby podać wiele wartości ciągu w jednym polu ciągu, ogranicz wartości separatorem Multivalue. W poniższej sekcji przykład pliku CSV pokazano, jak pole ProxyAddress z wieloma wartościami:
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
Uwaga
Ciąg wielowartościowy obsługuje również użycie wartości kwalifikowanych ciągu. Wartości kwalifikowane tekstu mogą być rozdzielane separatorami wielowartościowymi.
Przykład: Pola referencyjne
Aby określić wartość odwołania w pliku CSV, wypełnij pole wartością zakotwiczenia obiektu użytkownika. W poniższym przykładzie csv sekcji pole Menedżer zawiera wartość kotwicy rekordu użytkownika, do którego się odwołuje:
EmployeeID,DisplayName,Manager
E001,"Smith, John",
E002,"Doe, Jane",E001
E003,"Doe, Jane",
E004,"Perez, Juan",
Przykład: Pola binarne
Aby wyrazić wartości binarne w plikach CSV, należy je przekonwertować na ciągi base64, które używają tego samego typu kodowania co plik CSV. W poniższej sekcji funkcja programu PowerShell pokazuje, jak zakodować wartość ciągu do ciągu zakodowanego w formacie Base64 w formacie Unicode:
function ConvertTo-Base64([string]$text)
{
$bytes = [System.Text.Encoding]::Unicode.GetBytes($text)
$encodedText = [System.Convert]::ToBase64String($bytes)
return $encodedText
}
Oto równoważna funkcja w języku C#, która akceptuje parametr wejściowy o nazwie text i zwraca ciąg zakodowany w formacie Base64 w formacie Unicode.
public static string ConvertToBase64(string text)
{
byte[] bytes = System.Text.Encoding.UTF8.GetBytes(text);
string encodedText = System.Convert.ToBase64String(bytes);
return encodedText;
}
Przykład: Pola logiczne
Pliki CSV zawierające pola logiczne powinny używać tekstu Prawda lub Fałsz, aby wskazać ich wartość. Poniższa sekcja to
EmployeeID,DisplayName,IsActive
E001,"Smith, John",true
E002,"Doe, Jane",true
E003,"Perez, Juan",false
Znane ograniczenia
Poniższa lista zawiera znane ograniczenia łącznika GCSV.
-
Atrybuty odwołania
- Inne niż atrybut elementu członkowskiego grupy atrybuty odwołania wielowartościowe nie są obsługiwane.
- Wartość odwołania musi odwoływać się do obiektów użytkownika. Odwołania do obiektów grupy nie są obsługiwane.
-
Kotwice
- Zduplikowane wartości kotwicy między obiektami użytkownika i grupy nie są obsługiwane.
- Nazwy atrybutów kotwicy muszą być unikatowe w schematach użytkowników i grup.
-
Program PowerShell
- Przekazywanie zmiennych wejściowych do skryptów programu PowerShell nie jest obsługiwane.