Risposte:
Esiste un recente progetto sandbox: Drush User List (di John ) che dovrebbe funzionare con Drupal 6 e 7 (vedi GitHub ).
Uso:
drush user-list
Per altre soluzioni alternative, il seguente comando con la sintassi di sostituzione del processo dovrebbe aiutare:
drush uinf $(drush sqlq "SELECT GROUP_CONCAT(name) FROM users")
Tuttavia, in alcuni casi potrebbe non riuscire (quando gli utenti hanno alcuni caratteri speciali nel loro nome).
Come sottolineato da Kenorb, esiste una soluzione alternativa tramite query SQL.
E con una piccola modifica, diventa più robusto per caratteri speciali nei nomi - usando "uid" (numero intero) invece dei nomi utente:
drush uinf $(drush sqlq "SELECT GROUP_CONCAT(uid) FROM users")
PS: confermato solo per Drupal 7.
PPS: mi dispiace per aver aggiunto un'altra risposta, non posso ancora commentare.
Per Drupal 8 è possibile eseguire il comando seguente:
drush uinf $(drush sqlq "SELECT GROUP_CONCAT(name) FROM users_field_data")
L'output loke qualcosa di simile al seguente:
User ID : 1
User name : admin
User mail : info@example.com
User roles : authenticated
administrator
User status : 1
Per Drupal 8, c'è un comando Drush 9 su Packagist , ad es
drush users:list
Elenca tutti gli utenti Drupal in un formato tabella. Vedere
drush users:list --help
per le opzioni di filtro.
Siamo spiacenti ... ho scritto questo script per macchine remote Drupal 8 con alias; facilmente adattabile al locale se necessario.
if [ $# -lt 1 ]
then
echo "Usage : $0 sitealias [all/disabled/enabled] [rolename]"
echo "Note: this only runs on Drupal 8 schema"
exit
fi
ARG1=$1
ARG2=${2:-all}
ARG3=${3:-nothing}
if [ "$ARG3" != "nothing" ]
then
ROLEWHERE='AND user__roles.roles_target_id="'$ARG3'"'
fi
case "$ARG2" in
enabled)
WHERECLAUSE='WHERE users_field_data.status="1" '$ROLEWHERE
;;
disabled)
WHERECLAUSE='WHERE users_field_data.status="0" '$ROLEWHERE
;;
all)
WHERECLAUSE='WHERE users_field_data.status LIKE "%" '$ROLEWHERE
;;
*)
WHERECLAUSE=''
;;
esac
QUERY='SELECT users_field_data.uid,users_field_data.name,users_field_data.mail,from_unixtime(users_field_data.login) AS "lastlogin",user__roles.roles_target_id,users_field_data.status FROM users_field_data LEFT JOIN user__roles ON users_field_data.uid = user__roles.entity_id '$WHERECLAUSE
drush $1 sqlq "$QUERY"