как экспортировать список всех пользователей FreeIPA в формат csv?

Как можно экспортировать всех пользователей FreeIPA в файл csv?

1
задан 10 July 2018 в 12:04
2 ответа

У меня сработала эта команда:

ipa user-find --all | grep -E "User Login|First|Last|UID|Email" > IPA_RAW.txt

после этого используйте эту строку perl для преобразования формата:

perl -ne 'chomp; print $_ . (($. % 8) ? "," : "\n")' IPA_RAW.txt | awk "Add your filters here" > users-list.csv

спасибо

1
ответ дан 3 December 2019 в 23:14

Поздний, но полный ответ "копировать/вставить" (на основе предыдущих - спасибо - я мог бы уйти после написания ipa2json); для настоящих и будущих нужд.

Экспорт пользователей с помощью:

ipa user-find --all > ipa.txt

Если выходные данные усечены, отрегулируйте ограничение с помощью приведенной ниже команды и повторите попытку:

ipa config-mod --searchrecordslimit=######

Чтобы использовать этот метод, вам нужны nodejs на машине (или в контейнере), где вы собираетесь обрабатывать ipa.txt ; для этого я предлагаю использовать nvm:

# install nodejs version manager (nvm) for the current user (not root!)
wget https://raw.githubusercontent.com/creationix/nvm/master/install.sh | bash

# install the latest nodejs long time support (lts) version for the current user
nvm install --lts

Установите необходимые сценарии в качестве инструментов командной строки для текущего пользователя:

npm i -g ipa2json      # to convert ipa output to json
npm i -g equalizejson  # to spread missing fields in every record
npm i -g json2csv      # to convert the json to csv

Преобразуйте вывод ipa в json с помощью:

ipa2json ipa.txt > ipa.json

Выровняйте json (вам нужны все поля во всех экземплярах для правильное преобразование csv) и конвертировать в csv:

equalizejson ipa.json | json2csv > ipa.csv

Чтобы удалить nvm, nodejs и скрипты, вы можете просто удалить папку $NVM_DIR (обычно ~/.nvm), как описано когда вы вводите «nvm» в терминале.

0
ответ дан 12 July 2021 в 16:40

Теги

Похожие вопросы