Yanıtlar:
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).
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.
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
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 --help
Filtreleme seçenekleri için konusuna bakın .
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"