Listado de nombres reales de todos los usuarios de un grupo de Open Directory en MAC OS X

0

Estaba buscando una publicación anterior ( enlace ) y probé el código que el usuario Arne Stenström publicó.

members () { dscl . -list /Users | while read user; do printf "$user "; dsmemberutil checkmembership -U "$user" -G "$*"; done | grep "is a member" | cut -d " " -f 1; };

Funciona perfectamente, pero la salida es una lista de los usuarios uid. También estoy tratando de obtener los RealNames para tener una lista con el uid y el RealName en la salida.

Probé infinitas cosas y opciones, pero no puedo conseguirlo. Sé que puedo incluir el Nombre real de un usuario con este código:

dscl . -list /Users/username RealName

No puedo encontrar la manera de unir ambas ideas para alcanzar el resultado deseado.

¿Podrías ayudarme, por favor?

Muchas gracias.

    
pregunta Ricard 21.06.2013 - 09:46

2 respuestas

0

Gracias al código de Lauri y la ayuda, finalmente encontré el código que crea un archivo CSV con el UID y RealName de los usuarios de un GRUPO OD. Funciona perfectamente para mi :)

g=nameofthegroup; dscl . -list /Users | while read l; do printf %s "$l "; dsmemberutil checkmembership -U $l -G $g; done | grep 'is a member' | cut -d' ' -f1 | while read l; do echo -e "$l \t $(dscl . -read /Users/$l RealName | tail -n1 | cut -c2-)"; done > /path/file.csv

¡Muchas gracias Lauri por tu ayuda!

    
respondido por el Ricard 25.06.2013 - 10:05
0

Probablemente haya algo mal con esto o una forma más fácil de hacer lo mismo, pero ¿podrías ejecutar dscl . -read /Search/Users/username RealName para todos los nombres de usuario?

g=admin; dscl . -list /Users | while read l; do printf %s "$l "; dsmemberutil checkmembership -U $l -G $g; done | grep 'is a member' | cut -d' ' -f1 | while read l; do echo "$l $(dscl . -read /Users/$l RealName | tail -n1 | cut -c2-)"; done

    
respondido por el user495470 21.06.2013 - 11:08

Lea otras preguntas en las etiquetas