diff --git a/ipmi/test_ipmi_user.robot b/ipmi/test_ipmi_user.robot
index 6420166..b20abea 100644
--- a/ipmi/test_ipmi_user.robot
+++ b/ipmi/test_ipmi_user.robot
@@ -51,6 +51,36 @@
     Should Contain  ${maximum_ids}  15
 
 
+Verify IPMI User List
+    [Documentation]  Verify user list via IPMI.
+    [Tags]  Verify_IPMI_User_List
+    [Teardown]  Run Keywords  FFDC On Test Case Fail  AND
+    ...  Delete Created User  ${random_userid}
+
+    ${random_userid}  ${random_username}=  Create Random IPMI User
+    Set Test Variable  ${random_userid}
+
+    Run IPMI Standard Command
+    ...  user set password ${random_userid} ${valid_password}
+    Run IPMI Standard Command  user enable ${random_userid}
+    # Delay added for IPMI user to get enabled.
+    Sleep  5s
+    # Set admin privilege and enable IPMI messaging for newly created user.
+    Set Channel Access  ${random_userid}  ipmi=on privilege=${admin_level_priv}
+
+    ${users_access}=  Get User Access Ipmi  ${CHANNEL_NUMBER}
+    Rprint Vars  users_access
+
+    ${index}=  Evaluate  ${random_userid} - 1
+    # Verify the user access of created user.
+    Valid Value  users_access[${index}]['id']  ['${random_userid}']
+    Valid Value  users_access[${index}]['name']  ['${random_username}']
+    Valid Value  users_access[${index}]['callin']  ['true']
+    Valid Value  users_access[${index}]['link']  ['false']
+    Valid Value  users_access[${index}]['auth']  ['true']
+    Valid Value  users_access[${index}]['ipmi']  ['ADMINISTRATOR']
+
+
 Verify IPMI User Creation With Valid Name And ID
     [Documentation]  Create user via IPMI and verify.
     [Tags]  Test_IPMI_User_Creation_With_Valid_Name_And_ID
diff --git a/lib/ipmi_utils.py b/lib/ipmi_utils.py
index 2a72fde..156b32a 100644
--- a/lib/ipmi_utils.py
+++ b/lib/ipmi_utils.py
@@ -657,3 +657,35 @@
     key_var_list[11] = 'Non-Volatile Settings:'
     result = vf.key_value_list_to_dict(key_var_list, process_indent=1)
     return result
+
+
+def get_user_access_ipmi(channel_number=1):
+
+    r"""
+    Run 'user list [<channel number>]' command and return the result as a list of dictionaries.
+
+    Example robot code:
+    ${users_access}=  user list 1
+    Rprint Vars  users_access
+
+    Example output:
+    users:
+      [0]:
+        [id]:                                         1
+        [name]:                                       root
+        [callin]:                                     false
+        [link]:                                       true
+        [auth]:                                       true
+        [ipmi]:                                       ADMINISTRATOR
+      [1]:
+        [id]:                                         2
+        [name]:                                       axzIDwnz
+        [callin]:                                     true
+        [link]:                                       false
+        [auth]:                                       true
+        [ipmi]:                                       ADMINISTRATOR
+    """
+
+    cmd_buf = "user list " + str(channel_number)
+    stdout, stderr, rc = execute_ipmi_cmd(cmd_buf, "external", print_output=0)
+    return vf.outbuf_to_report(stdout)
