diff --git a/src/caosdb/common/administration.py b/src/caosdb/common/administration.py
index e7ba94182d7a4d8b60c6400cd1d804f62f7bf03c..dff461e7fb0ed5270119907bd4ad859503b3ce21 100644
--- a/src/caosdb/common/administration.py
+++ b/src/caosdb/common/administration.py
@@ -26,16 +26,12 @@
 
 """missing docstring."""
 
-from lxml import etree
-
 from caosdb.common.utils import xml2str
 from caosdb.connection.connection import get_connection
-from caosdb.exceptions import (HTTPClientError,
-                               HTTPForbiddenError,
-                               HTTPResourceNotFoundError,
-                               EntityDoesNotExistError,
-                               ServerConfigurationException,
-                               )
+from caosdb.exceptions import (EntityDoesNotExistError, HTTPClientError,
+                               HTTPForbiddenError, HTTPResourceNotFoundError,
+                               ServerConfigurationException)
+from lxml import etree
 
 
 def set_server_property(key, value):
@@ -156,13 +152,22 @@ def _update_user(name, realm=None, password=None, status=None,
         return con.put_form_data(entity_uri_segment="User/" + (realm + "/" + name if realm is not None else name), params=params, **kwargs).read()
     except HTTPResourceNotFoundError as e:
         e.msg = "User does not exist."
-        raise
+        raise e
     except HTTPForbiddenError as e:
         e.msg = "You are not permitted to update this user."
-        raise
+        raise e
     except HTTPClientError as e:
         if e.status == 409:
             e.msg = "Entity does not exist."
+
+        if e.status == 422:
+            e.msg = """Maybe the password does not match the required standard?
+                        The current requirements are:
+                        - at least 8 characters
+                        - at least 1 number
+                        - at least 1 lower case character
+                        - at least 1 upper case character
+                        - at least 1 special character"""
         raise
 
 
@@ -191,7 +196,13 @@ def _insert_user(name, password=None, status=None, email=None, entity=None, **kw
             e.msg = "User name is already in use."
 
         if e.status == 422:
-            e.msg = "Maybe the password does not match the required standard?"
+            e.msg = """Maybe the password does not match the required standard?
+                        The current requirements are:
+                        - at least 8 characters
+                        - at least 1 number
+                        - at least 1 lower case character
+                        - at least 1 upper case character
+                        - at least 1 special character"""
         raise e
 
 
diff --git a/src/caosdb/utils/caosdb_admin.py b/src/caosdb/utils/caosdb_admin.py
index 9c18f8962b3561999950059f23453d05edc0584d..9fb94f57683036f5432a40198cc4ae98893665fb 100755
--- a/src/caosdb/utils/caosdb_admin.py
+++ b/src/caosdb/utils/caosdb_admin.py
@@ -131,11 +131,17 @@ def do_create_user(args):
 
 
 def do_activate_user(args):
-    admin._update_user(name=args.user_name, status="ACTIVE")
+    try:
+        admin._update_user(name=args.user_name, status="ACTIVE")
+    except HTTPClientError as e:
+        print(e.msg)
 
 
 def do_deactivate_user(args):
-    admin._update_user(name=args.user_name, status="INACTIVE")
+    try:
+        admin._update_user(name=args.user_name, status="INACTIVE")
+    except HTTPClientError as e:
+        print(e.msg)
 
 
 def do_set_user_password(args):
@@ -143,7 +149,10 @@ def do_set_user_password(args):
         password = _promt_for_pw()
     else:
         password = args.user_password
-    admin._update_user(name=args.user_name, password=password)
+    try:
+        admin._update_user(name=args.user_name, password=password)
+    except HTTPClientError as e:
+        print(e.msg)
 
 
 def do_add_user_roles(args):