Comment lister tous les utilisateurs dans drush?


12

Je voudrais lister des informations sur tous les utilisateurs utilisant drush.

Il existe user-information, mais il affiche uniquement des informations sur un seul utilisateur.

Y a-t-il d'autres solutions?

Réponses:


7

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).


5

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.


5

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

4

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 --helppour les options de filtrage.


0

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"
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.