diff --git a/drush/views.drush.inc b/drush/views.drush.inc
index ba44375..4389b84 100644
--- a/drush/views.drush.inc
+++ b/drush/views.drush.inc
@@ -68,6 +68,12 @@ function views_drush_command() {
       'drush vl --type=overridden' => 'Show a list of overridden views.',
     ),
   );
+  $items['views-analyze'] = array(
+    'drupal dependencies' => array('views', 'views_ui'),
+    'description' => 'Get a list of all Views analyze warnings',
+    'bootstrap' => DRUSH_BOOTSTRAP_DRUPAL_FULL,
+    'aliases' => array('va'),
+  );
 
   return $items;
 }
@@ -356,4 +362,24 @@ function drush_views_list() {
   drush_print(dt("  @over views are overridden", array('@over' => $overridden)));
   drush_print(dt("  @incode views are in their default state", array('@incode' => $incode)));
   drush_print(dt("  @dis views are disabled\n", array('@dis' => $disabled)));
-}
\ No newline at end of file
+}
+
+function drush_views_analyze() {
+  views_include('analyze');
+  $messages_count = 0;
+  $total = 0;
+
+  foreach (views_get_all_views() as $view) {
+    $total++;
+    $view->init();
+    if ($messages = views_analyze_view($view)) {
+      $printed = TRUE;
+      drush_print($view->name);
+      foreach ($messages as $message) {
+        $messages_count++;
+        drush_print($message['type'] . ': ' . $message['message']);
+      }
+    }
+  }
+  drush_print(dt('A total of @total views were analyzed and @messages problems were found.', array('@total' => $total, '@messages' => $messages_count)));
+}
