Réponses:
Il y a un projet récent de sandbox: Drush User List (par John ) qui devrait fonctionner pour Drupal 6 & 7 (voir GitHub ).
Usage:
drush user-list
Pour toute autre solution de contournement, la commande suivante avec la syntaxe de substitution de processus devrait aider:
drush uinf $(drush sqlq "SELECT GROUP_CONCAT(name) FROM users")
Cependant, il pourrait échouer dans certains cas (lorsque les utilisateurs ont des caractères spéciaux dans leur nom).
Comme l'a souligné kenorb, il existe une solution de contournement via SQL-query.
Et avec un changement mineur, il devient plus robuste aux caractères spéciaux dans les noms - en utilisant "uid" (entier) au lieu des noms d'utilisateur:
drush uinf $(drush sqlq "SELECT GROUP_CONCAT(uid) FROM users")
PS: Confirmé pour Drupal 7 uniquement.
PPS: Désolé d'avoir ajouté une autre réponse, je ne peux pas encore commenter.
Pour Drupal 8, vous pouvez exécuter la commande suivante:
drush uinf $(drush sqlq "SELECT GROUP_CONCAT(name) FROM users_field_data")
La sortie ressemblera à quelque chose comme ceci:
User ID : 1
User name : admin
User mail : info@example.com
User roles : authenticated
administrator
User status : 1
Pour Drupal 8, il existe une commande Drush 9 sur Packagist , par exemple
drush users:list
Liste tous les utilisateurs Drupal sous forme de tableau. Voir
drush users:list --help
pour les options de filtrage.
Désolé ... a écrit ce script pour les machines distantes Drupal 8 avec des alias; facilement adaptable au local si nécessaire.
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"