drush에있는 모든 사용자를 나열하는 방법?


12

를 사용하는 모든 사용자에 대한 정보를 나열하고 싶습니다 drush.

user-information있지만 단일 사용자에 대한 정보 만 표시합니다.

다른 해결책이 있습니까?

답변:


7

Drupal 6 & 7에서 작동 해야하는 최근 샌드 박스 프로젝트 : Drush User List ( John의 D )가 있습니다 ( GitHub 참조 ).

용법:

drush user-list

다른 해결 방법의 경우 프로세스 대체 구문이 포함 된 다음 명령이 도움이됩니다.

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

그러나 어떤 경우에는 사용자가 이름에 특수 문자가있을 때 실패 할 수 있습니다.


6

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

4

드루팔 8를 들어,이 Packagist에 Drush 9 명령 , 예를 들면

drush users:list

모든 Drupal 사용자를 표 형식으로 나열하십시오. drush users:list --help필터링 옵션을 참조하십시오 .


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.