Drushですべてのユーザーを一覧表示する方法は?


12

を使用してdrushいるすべてのユーザーに関する情報をリストします。

はありますがuser-information、シングルユーザーに関する情報のみが表示されます。

他の解決策はありますか?

回答:


7

最近のサンドボックスプロジェクトがあります:Drupal 6&7で動作するはずのDrush User ListJohnによる)(GitHubを参照)。

使用法:

drush user-list

その他の回避策については、次のコマンドをプロセス置換構文とともに使用すると役立つはずです。

drush uinf $(drush sqlq "SELECT GROUP_CONCAT(name) FROM users")

ただし、場合によっては失敗することがあります(ユーザーの名前に特殊文字が含まれている場合)。


5

kenorbが指摘したように、SQLクエリによる回避策があります。

そして、マイナーな変更により、ユーザー名の代わりに「uid」(整数)を使用することにより、名前の特殊文字に対してより堅牢になります。

drush uinf $(drush sqlq "SELECT GROUP_CONCAT(uid) FROM users")

PS:Drupal 7でのみ確認されました。
PPS:別の回答を追加して申し訳ありません。まだコメントできません。


5

Drupal 8の場合、次のコマンドを実行できます。

drush uinf $(drush sqlq "SELECT GROUP_CONCAT(name) FROM users_field_data")

次のような出力が出力されます。

 User ID       :  1
 User name     :  admin
 User mail     :  info@example.com
 User roles    :  authenticated
                  administrator
 User status   :  1


0

すみません...このスクリプトはエイリアスを持つDrupal 8リモートマシン用に作成しました。必要に応じてローカルに簡単に適応できます。

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"
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.