diff --git a/commands/user/user.drush.inc b/commands/user/user.drush.inc
index e4beac2..b4ed0b0 100644
--- a/commands/user/user.drush.inc
+++ b/commands/user/user.drush.inc
@@ -159,6 +159,21 @@ function user_drush_command() {
       'open `drush user-login ryan`' => 'Open web browser and login as user ryan.',
     ),
   );
+  $items['user-report'] = array(
+    'callback' => 'drush_user_report',
+    'description' => 'Display the number of online/logged-in/registered users on a portal right now',
+    'arguments' => array(
+      'status' => 'The type of users status you want: "online" (default), "logged-in" or "registered".',
+    ),
+    'options' => array(
+      'output' => 'The output format: system for raw numbers (default), or txt for labelled text.',
+    ),
+    'examples' => array(
+      'drush user-report online --output=txt',
+      'drush user-report r',
+    ),
+    'aliases' => array('ur'),
+  );
 
   // Drupal 7 only options.
   if (drush_drupal_major_version() >= 7) {
@@ -481,6 +496,48 @@ function drush_user_login($name = NULL) {
 }
 
 /**
+ * Prints information about the specified user(s).
+ */
+function drush_user_report($type='online') {
+  $str_users = '';
+  $prefix = array('o'=>'','l'=>'','r'=>'');
+  if ($output = drush_get_option('output')) {
+    if ($output == 'txt') {
+        $prefix['o'] = dt('Online users: ');
+        $prefix['l'] = dt('Connected users: ');
+        $prefix['r'] = dt('Registered users: ');
+    }
+  }
+  $drupal_root = drush_get_context('DRUSH_DRUPAL_ROOT');
+  require_once $drupal_root.'/includes/session.inc';
+
+  switch ($type) {
+    case 'registered':
+    case 'r':
+        $count_reg = db_result(db_query("SELECT COUNT(uid) FROM {users} WHERE uid > 0"));
+        $str_users = $prefix['r'].$count_reg;
+        break;
+    case 'logged-in':
+    case 'l':
+        //$interval = time() - variable_get('user_block_seconds_online', 900);
+        $interval = time() - 900;
+        $count_auth = db_result(db_query("SELECT COUNT(DISTINCT uid) FROM {sessions} WHERE uid > 0 AND timestamp >= %d", $interval));
+        $str_users = $prefix['l'].$count_auth;
+        break;
+    case 'online':
+    case 'o':
+    default:
+        //$interval = time() - variable_get('user_block_seconds_online', 900);
+        $interval = time() - 900;
+        $count_anon = sess_count($interval);
+        $str_users = $prefix['o'].$count_anon;
+        break;
+  }
+  drush_print($str_users);
+}
+
+
+/**
  * Print information about a given uid
  */
 function _drush_user_print_info($uid) {
