Index: /trunk/src/VBox/Frontends/VBoxManage/VBoxManageHelp.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VBoxManage/VBoxManageHelp.cpp	(revision 42188)
+++ /trunk/src/VBox/Frontends/VBoxManage/VBoxManageHelp.cpp	(revision 42189)
@@ -114,5 +114,6 @@
 #endif
                      "                            hostcpuids|hddbackends|hdds|dvds|floppies|\n"
-                     "                            usbhost|usbfilters|systemproperties|extpacks\n"
+                     "                            usbhost|usbfilters|systemproperties|extpacks|\n"
+                     "                            groups\n"
                      "\n");
 
Index: /trunk/src/VBox/Frontends/VBoxManage/VBoxManageList.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VBoxManage/VBoxManageList.cpp	(revision 42188)
+++ /trunk/src/VBox/Frontends/VBoxManage/VBoxManageList.cpp	(revision 42189)
@@ -249,4 +249,23 @@
     }
     return hrc;
+}
+
+
+/**
+ * List machine groups.
+ *
+ * @returns See produceList.
+ * @param   rptrVirtualBox      Reference to the IVirtualBox smart pointer.
+ */
+static HRESULT listGroups(const ComPtr<IVirtualBox> &rptrVirtualBox)
+{
+    SafeArray<BSTR> groups;
+    CHECK_ERROR2_RET(rptrVirtualBox, COMGETTER(MachineGroups)(ComSafeArrayAsOutParam(groups)), hrcCheck);
+
+    for (size_t i = 0; i < groups.size(); i++)
+    {
+        RTPrintf("\"%ls\"\n", groups[i]);
+    }
+    return S_OK;
 }
 
@@ -277,5 +296,6 @@
     kListSystemProperties,
     kListDhcpServers,
-    kListExtPacks
+    kListExtPacks,
+    kListGroups
 };
 
@@ -969,4 +989,8 @@
             break;
 
+        case kListGroups:
+            rc = listGroups(rptrVirtualBox);
+            break;
+
         /* No default here, want gcc warnings. */
 
@@ -1013,4 +1037,5 @@
         { "dhcpservers",        kListDhcpServers,        RTGETOPT_REQ_NOTHING },
         { "extpacks",           kListExtPacks,           RTGETOPT_REQ_NOTHING },
+        { "groups",             kListGroups,             RTGETOPT_REQ_NOTHING },
     };
 
@@ -1055,4 +1080,5 @@
             case kListDhcpServers:
             case kListExtPacks:
+            case kListGroups:
                 enmOptCommand = (enum enmListType)ch;
                 if (fOptMultiple)
