Próbuję utworzyć nowych użytkowników na moim serwerze OSX, importując krótkie i długie nazwy z pliku CSV. Podczas próby zaimportowania pliku CSV pojawia się następujący błąd:
Nie można zaimportować pliku, ponieważ nie ma poprawnego formatu. Importowane pliki muszą mieć format rozdzielany i zawierać wiersz nagłówka.
Wziąłem plik arkusza kalkulacyjnego z listą krótkich i długich nazw i wyeksportowałem go do pliku csv. Górny wiersz ma pola nagłówka z „RealName” i „RecordName”. kiedy otwieram plik csv w innym programie, mogę sprawdzić, czy jest on rozdzielany przecinkami. Co tu się dzieje?
mavericks
server.app
csv
NotAMaverick
źródło
źródło
Odpowiedzi:
Trzy źródła, które przelewałem podczas opracowywania własnych procesów importowania użytkowników, to: http://support.apple.com/kb/PH15663 oraz strony podręcznika dla dsimport i dsexport .
W przypadku OD wydaje się, że musisz zdefiniować format pliku, którego używasz do importowania rekordów. Chociaż powyższa strona pomocy wskazuje, że istnieje garść wymaganych atrybutów, zauważyłem, że mogę zaimportować tylko dwa pola opisane powyżej, a system automatycznie przypisał informacje o UID.
Górny wiersz pliku używanego do importowania rekordów określa format. Zawiera cztery kody szesnastkowe, typ rekordu, atrybuty liczbowe i listę atrybutów.
Domyślne kody szesnastkowe działają dla mnie ładnie:
Do tego celu typami rekordów są użytkownicy standardowi, dsRecTypeStandard: Użytkownicy.
Liczba wymaganych atrybutów wynosi 2, a ich wartości to: RealName i RecordName.
Tak więc plik, który powinien działać dla Ciebie to:
Należy jednak pamiętać, że Server.app może wypełnić niektóre, ale nie wszystkie brakujące dane. Zalecam zbudowanie pliku importu, który zawiera wszystkie wymagane atrybuty.
Dsimport udostępnia również opcję --template, która eliminuje potrzebę opisów pól, jeśli plik ma wszystkie siedem standardowych pól.
Zdaję sobie sprawę, że pytanie ma kilka miesięcy, ale mam nadzieję, że pomoże to komuś w przyszłości.
źródło
Server.app
. Sugeruję po prostu przejrzenie stron podręcznika.