= groups()
:description: Gibt alle auf dem Server definierten Gruppen als Liste von ECMGroup-Objekten zurück (mng.GetGroupList). Optional gefiltert nach einem Benutzer-GUID.
:keywords: groups, mng.GetGroupList, ECMGroup, Gruppen, GUID
:page-tags: api, security

Gibt alle auf dem Server definierten Gruppen zurück.

== Signatur

[tabs]
====
Sync::
+
[source,python]
----
ecm.security.groups() -> list[ECMGroup]
----

Async::
+
[source,python]
----
await ecm.security.groups() -> list[ECMGroup]
----
====

== Rückgabewert

Liste von `ECMGroup`-Instanzen. Leere Liste, wenn keine Gruppen existieren.

=== ECMGroup-Felder

[cols="1,1,3"]
|===
|Feld |Typ |Beschreibung

|`id`
|`int`
|Numerische Gruppen-ID.

|`name`
|`str`
|Name der Gruppe.

|`guid`
|`str`
|Globally Unique Identifier der Gruppe.

|`profile_user_id`
|`int`
|ID des der Gruppe zugewiesenen Profilbenutzers. `-1` wenn kein Profilbenutzer zugewiesen.

|`description`
|`str`
|Optionale Beschreibung der Gruppe.
|===

== Beispiele

=== Alle Gruppen auflisten

[tabs]
====
Sync::
+
[source,python]
----
groups = ecm.security.groups()
for group in groups:
    print(group.name, group.guid)
----

Async::
+
[source,python]
----
groups = await ecm.security.groups()
for group in groups:
    print(group.name, group.guid)
----
====

=== Gruppe nach Name suchen

[tabs]
====
Sync::
+
[source,python]
----
groups = ecm.security.groups()
admins = next((g for g in groups if g.name == "Administrators"), None)
----

Async::
+
[source,python]
----
groups = await ecm.security.groups()
admins = next((g for g in groups if g.name == "Administrators"), None)
----
====

== Siehe auch

* xref:api/security/group.adoc[group()] — Attribute einer einzelnen Gruppe abrufen
* xref:api/security/group_members.adoc[group_members()] — Mitglieder einer Gruppe abrufen
* xref:api/security/user_groups.adoc[user_groups()] — Gruppen eines bestimmten Benutzers abrufen
