Tüm kullanıcıları drush'da nasıl listeleyebilirim?


12

Kullanan tüm kullanıcılar hakkındaki bilgileri listelemek istiyorum drush.

Var user-information, ancak yalnızca tek bir kullanıcı hakkında bilgi gösterir.

Başka çözüm var mı?

Yanıtlar:


7

Yakın tarihli bir sanal alan projesi var: Drupal 6 ve 7 için çalışması gereken Drush User List ( John tarafından ) (bkz. GitHub ).

Kullanımı:

drush user-list

Diğer geçici çözüm için, işlem değiştirme sözdizimine sahip aşağıdaki komut yardımcı olacaktır:

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

Ancak bazı durumlarda başarısız olabilir (kullanıcıların adlarında bazı özel karakterler olduğunda).


6

Kenorb'un işaret ettiği gibi, SQL sorgusu aracılığıyla bir geçici çözüm var.

Ve küçük bir değişiklikle, kullanıcı adları yerine "uid" (tamsayı) kullanılarak adlardaki özel karakterlere karşı daha sağlam hale gelir:

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

Not: Yalnızca Drupal 7 için onaylandı.
PPS: Başka bir cevap eklediğim için üzgünüm, henüz yorum yapamam.


5

Drupal 8 için aşağıdaki komutu çalıştırabilirsiniz:

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

Çıktı aşağıdaki gibi bir şey kaybedecektir:

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

4

Drupal 8 için, bir var Packagist üzerinde Drush 9 komut , örneğin

drush users:list

Tüm Drupal kullanıcılarını bir tablo biçiminde listeleyin. drush users:list --helpFiltreleme seçenekleri için konusuna bakın .


0

Maalesef ... Bu komut dosyasını diğer adlara sahip Drupal 8 uzak makineleri için yazdı; gerekirse yerel ayarlara kolayca adapte edilebilir.

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"
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.