Benutzer auflisten

Namespace: microsoft.graph

Wichtig

APIs unter der /beta Version in Microsoft Graph können geändert werden. Die Verwendung dieser APIs in Produktionsanwendungen wird nicht unterstützt. Verwenden Sie die Versionsauswahl, um festzustellen, ob eine API in Version 1.0 verfügbar ist.

Dient zum Abrufen einer Liste von Benutzerobjekten.

Dieser Vorgang gibt standardmäßig nur eine Teilmenge der häufiger verwendeten Eigenschaften für jeden Benutzer zurück. Diese Standardeigenschaften werden im Abschnitt Eigenschaften aufgeführt. Um Eigenschaften abzurufen, die nicht standardmäßig zurückgegeben werden, führen Sie eine GET-Operation für den Benutzer aus, und geben Sie die Eigenschaften in einer $select OData-Abfrageoption an.

Berechtigungen

Eine der nachfolgenden Berechtigungen ist erforderlich, um diese API aufrufen zu können. Weitere Informationen, unter anderem zur Auswahl von Berechtigungen, finden Sie im Artikel zum Thema Berechtigungen.

Berechtigungstyp Berechtigungen (von der Berechtigung mit den wenigsten Rechten zu der mit den meisten Rechten)
Delegiert (Geschäfts-, Schul- oder Unikonto) User.ReadBasic.All, User.Read.All, User.ReadWrite.All, Directory.Read.All, Directory.ReadWrite.All, Directory.AccessAsUser.All
Delegiert (persönliches Microsoft-Konto) Nicht unterstützt
Anwendung User.Read.All, User.ReadWrite.All, Directory.Read.All, Directory.ReadWrite.All

Gastbenutzer können diese API nicht aufrufen. Weitere Informationen zu den Berechtigungen für Mitglieder und Gastbenutzer finden Sie unter Was sind die Standardbenutzerberechtigungen in Azure Active Directory?

HTTP-Anforderung

GET /users

Optionale Abfrageparameter

Diese Methode unterstützt die $count, $expand, $filter, $orderBy, $search, $select, und $top OData-Abfrageparameter zur Anpassung der Antwort. $skip wird nicht unterstützt. Die Standard- und die maximale Seitengröße sind 100 bzw. 999 Benutzerobjekte. Einige Abfragen werden nur unterstützt, wenn Sie die Kopfzeile ConsistencyLevel verwenden, die auf eventual und $count festgelegt ist. Weitere Informationen finden Sie unter Erweiterte Abfragefunktionen für Azure AD-Verzeichnisobjekte. Die Parameter $count und $search stehen im Azure Active Directory B2C-Mandanten derzeit nicht zur Verfügung.

Bestimmte Eigenschaften können innerhalb einer Benutzersammlung nicht zurückgegeben werden. Die folgenden Eigenschaften werden nur unterstützt, wenn ein einzelner Benutzer abgerufen wird: aboutMe, birthday, hireDate,interests, mySite, pastProjects, preferredName, responsibilities, schools, skills, mailboxSettings.

Die folgenden Eigenschaften werden in persönlichen Microsoft-Konten nicht unterstützt und werdennull: aboutMe, birthday, interests, mySite, pastProjects, preferredName, responsibilities, schools, skills, streetAddress.

Anforderungsheader

Kopfzeile Wert
Authorization Bearer {token} (erforderlich)
ConsistencyLevel schließlich. Diese Kopfzeile und $count sind erforderlich, wenn $search verwendet wird oder wenn $filter verwendet wird. Weitere Informationen zur Verwendung von ConsistencyLevel und $count finden Sie unter Erweiterte Abfragefunktionen für Azure AD-Verzeichnisobjekte.

Anforderungstext

Geben Sie für diese Methode keinen Anforderungstext an.

Antwort

Wenn die Methode erfolgreich verläuft, werden der Antwortcode 200 OK und eine Sammlung von user-Objekten im Antworttext zurückgegeben.

Der Versuch, $select in der Sammlung /users zu verwenden, um Eigenschaften abzurufen, die nicht in einer Nutzersammlung zurückgegeben werden können (z. B. die Anforderung ../users?$select=aboutMe ), gibt einen 501 Not Implemented-Fehlercode zurück.

Beispiele

Beispiel 1: Alle Benutzenden abrufen

Anforderung

Nachfolgend sehen Sie ein Beispiel der Anforderung.

GET https://graph.microsoft.com/beta/users

Antwort

Nachfolgend sehen Sie ein Beispiel der Antwort.

Hinweis: Das hier gezeigte Antwortobjekt kann zur besseren Lesbarkeit gekürzt werden.

HTTP/1.1 200 OK
Content-type: application/json

{
  "value":[
    {
      "displayName":"contoso1",
      "mail":"'contoso1@gmail.com",
      "mailNickname":"contoso1_gmail.com#EXT#",
      "otherMails":["contoso1@gmail.com"],
      "proxyAddresses":["SMTP:contoso1@gmail.com"],
      "userPrincipalName":"contoso1_gmail.com#EXT#@microsoft.onmicrosoft.com"
    }
  ]
}

Beispiel 2: Benutzerkonto mithilfe eines Anmeldenamens abrufen

Suchen Sie ein Benutzerkonto unter Verwendung eines Anmeldenamens (auch bekannt als lokales Konto).

Hinweis

Beim Filtern nach identities müssen Sie issuer und issuerAssignedId angeben. Der Wert von issuerAssignedId muss die E-Mail-Adresse des Benutzerkontos und nicht der Benutzerprinzipalname (UPN) sein. Bei Verwendung eines UPN ist die Antwort eine leere Liste.

Anforderung

Nachfolgend sehen Sie ein Beispiel der Anforderung.

GET https://graph.microsoft.com/beta/users?$select=displayName,id&$filter=identities/any(c:c/issuerAssignedId eq 'j.smith@yahoo.com' and c/issuer eq 'contoso.onmicrosoft.com')

Antwort

Nachfolgend sehen Sie ein Beispiel der Antwort.

Hinweis: Das hier gezeigte Antwortobjekt kann zur besseren Lesbarkeit gekürzt werden.

HTTP/1.1 200 OK
Content-type: application/json

{
  "value": [
    {
      "displayName": "John Smith"
    }
  ]
}

Beispiel 3: Benutzende abrufen, einschließlich der letzten Anmeldezeit

Anforderung

Nachfolgend sehen Sie ein Beispiel der Anforderung. Für Details zur signInActivity-Eigenschaft ist eine Azure AD Premium P1/P2-Lizenz sowie die Berechtigung „AuditLog Read.All“ erforderlich.

Hinweis: Es gibt ein bekanntes Problem beim Abrufen der signInActivity-Eigenschaft.

GET https://graph.microsoft.com/beta/users?$select=displayName,userPrincipalName,signInActivity

Antwort

Nachfolgend sehen Sie ein Beispiel der Antwort.

Hinweis: Das hier gezeigte Antwortobjekt kann zur besseren Lesbarkeit gekürzt werden.

HTTP/1.1 200 OK
Content-type: application/json

{
  "@odata.context": "https://graph.microsoft.com/beta/$metadata#users(displayName,userPrincipalName,signInActivity)",
  "value": [
    {
      "displayName": "Adele Vance",
      "userPrincipalName": "AdeleV@contoso.com",
      "signInActivity": {
        "lastSignInDateTime": "2021-06-17T16:41:33Z",
        "lastSignInRequestId": "d4d31c40-4c36-4775-ad59-7d1e6a171f00",
        "lastNonInteractiveSignInDateTime": "0001-01-01T00:00:00Z",
        "lastNonInteractiveSignInRequestId": ""
      }
    },
    {
      "displayName": "Alex Wilber",
      "userPrincipalName": "AlexW@contoso.com",
      "signInActivity": {
        "lastSignInDateTime": "2021-07-29T15:53:27Z",
        "lastSignInRequestId": "f3149ee1-e347-4181-b45b-99a1f82b1c00",
        "lastNonInteractiveSignInDateTime": "2021-07-29T17:53:42Z",
        "lastNonInteractiveSignInRequestId": "868efa6a-b2e9-40e9-9b1c-0aaea5b50200"
      }
    }
  ]
}

Beispiel 4: Auflisten der letzten Anmeldezeit von Benutzern mit einem bestimmten Anzeigenamen

Anfrage

Nachfolgend sehen Sie ein Beispiel der Anforderung. Für Details zur signInActivity-Eigenschaft ist eine Azure AD Premium P1/P2-Lizenz sowie die Berechtigung „AuditLog Read.All“ erforderlich.

Hinweis: Es gibt ein bekanntes Problem beim Abrufen der signInActivity-Eigenschaft.

GET https://graph.microsoft.com/beta/users?$filter=startswith(displayName,'Eric')&$select=displayName,signInActivity

Antwort

Nachfolgend sehen Sie ein Beispiel der Antwort.

Hinweis: Das hier gezeigte Antwortobjekt kann zur besseren Lesbarkeit gekürzt werden.

HTTP/1.1 200 OK
Content-type: application/json

{
  "@odata.context": "https://graph.microsoft.com/beta/users?$filter=startswith(displayName,'Eric')&$select=displayName,signInActivity",
  "value": [
    {
      "displayName": "Eric Solomon",
      "signInActivity": {
        "lastSignInDateTime": "2021-07-29T15:53:27Z",
        "lastSignInRequestId": "f3149ee1-e347-4181-b45b-99a1f82b1c00",
        "lastNonInteractiveSignInDateTime": "2021-07-29T17:53:42Z",
        "lastNonInteractiveSignInRequestId": "868efa6a-b2e9-40e9-9b1c-0aaea5b50200"
      }
    }
  ]
}

Beispiel 5: Auflisten der letzten Anmeldezeit von Benutzern in einem bestimmten Zeitraum

Anfrage

Nachfolgend sehen Sie ein Beispiel der Anforderung. Für Details zur signInActivity-Eigenschaft ist eine Azure AD Premium P1/P2-Lizenz sowie die Berechtigung „AuditLog Read.All“ erforderlich.

Hinweis: Es gibt ein bekanntes Problem beim Abrufen der signInActivity-Eigenschaft.

GET https://graph.microsoft.com/beta/users?filter=signInActivity/lastSignInDateTime le 2021-07-21T00:00:00Z

Antwort

Nachfolgend sehen Sie ein Beispiel der Antwort.

Hinweis: Das hier gezeigte Antwortobjekt kann zur besseren Lesbarkeit gekürzt werden.

HTTP/1.1 200 OK
Content-type: application/json

{
  "@odata.context": "https://graph.microsoft.com/beta/users?filter=signInActivity/lastSignInDateTime le 2021-07-21T00:00:00Z",
  "value": [
    {
      "displayName": "Adele Vance",
      "userPrincipalName": "AdeleV@contoso.com",
      "signInActivity": {
        "lastSignInDateTime": "2021-06-17T16:41:33Z",
        "lastSignInRequestId": "d4d31c40-4c36-4775-ad59-7d1e6a171f00",
        "lastNonInteractiveSignInDateTime": "0001-01-01T00:00:00Z",
        "lastNonInteractiveSignInRequestId": ""
      }
    },
    {
      "displayName": "Alex Wilber",
      "userPrincipalName": "AlexW@contoso.com",
      "signInActivity": {
        "lastSignInDateTime": "2021-07-29T15:53:27Z",
        "lastSignInRequestId": "f3149ee1-e347-4181-b45b-99a1f82b1c00",
        "lastNonInteractiveSignInDateTime": "2021-07-29T17:53:42Z",
        "lastNonInteractiveSignInRequestId": "868efa6a-b2e9-40e9-9b1c-0aaea5b50200"
      }
    }
  ]
}

Beispiel 6: Nur die Anzahl der Benutzenden abrufen

Anforderung

Nachfolgend sehen Sie ein Beispiel der Anforderung. Für diese Anforderung muss die Kopfzeile ConsistencyLevel auf eventual festgelegt werden, da $count in der Anforderung enthalten ist. Weitere Informationen zur Verwendung von ConsistencyLevel und $count finden Sie unter Erweiterte Abfragefunktionen für Azure AD-Verzeichnisobjekte.

GET https://graph.microsoft.com/beta/users/$count
ConsistencyLevel: eventual

Antwort

Nachfolgend sehen Sie ein Beispiel der Antwort.

HTTP/1.1 200 OK
Content-type: text/plain

893

Beispiel 7: Verwenden Sie $filter und $top, um eine Gruppe mit einem Anzeigenamen abzurufen, der mit 'a' beginnt, einschließlich der Anzahl erhaltener Objekte

Anforderung

Nachfolgend sehen Sie ein Beispiel der Anforderung. Für diese Anforderung muss die Kopfzeile ConsistencyLevel auf eventual und die $count=true-Abfragezeichenfolge festgelegt werden, da die Anforderung die Abfrageparameter $orderBy und $filter aufweist. Weitere Informationen zur Verwendung von ConsistencyLevel und $count finden Sie unter Erweiterte Abfragefunktionen für Azure AD-Verzeichnisobjekte.

GET https://graph.microsoft.com/beta/users?$filter=startswith(displayName,'a')&$orderby=displayName&$count=true&$top=1
ConsistencyLevel: eventual

Antwort

Nachfolgend sehen Sie ein Beispiel der Antwort.

Hinweis: Das hier gezeigte Antwortobjekt kann zur besseren Lesbarkeit gekürzt werden.

HTTP/1.1 200 OK
Content-type: application/json

{
  "@odata.context":"https://graph.microsoft.com/beta/$metadata#users",
  "@odata.count":1,
  "value":[
    {
      "displayName":"a",
      "mail":"a@contoso.com",
      "mailNickname":"a_contoso.com#EXT#",
      "otherMails":["a@contoso.com"],
      "proxyAddresses":["SMTP:a@contoso.com"],
      "userPrincipalName":"a_contoso.com#EXT#@microsoft.onmicrosoft.com"
    }
  ]
}

Beispiel 8: Verwenden Sie $filter, um alle Benutzer mit einer E-Mail abzurufen, die auf „a@contoso.com“ endet, einschließlich der Anzahl zurückgegebener Objekte, bei denen die Ergebnisse nach userPrincipalName geordnet sind.

Anforderung

Nachfolgend sehen Sie ein Beispiel der Anforderung. Für diese Anforderung muss die Kopfzeile ConsistencyLevel auf eventual und die $count=true-Abfragezeichenfolge festgelegt werden, da die Anforderung die Abfrageparameter $orderBy und $filter aufweist und den Operator endsWith verwendet. Weitere Informationen zur Verwendung von ConsistencyLevel und $count finden Sie unter Erweiterte Abfragefunktionen für Azure AD-Verzeichnisobjekte.

GET https://graph.microsoft.com/beta/users?$filter=endswith(mail,'a@contoso.com')&$orderby=userPrincipalName&$count=true
ConsistencyLevel: eventual

Antwort

Nachfolgend sehen Sie ein Beispiel der Antwort.

Hinweis: Das hier gezeigte Antwortobjekt kann zur besseren Lesbarkeit gekürzt werden.

HTTP/1.1 200 OK
Content-type: application/json

{
  "@odata.context": "https://graph.microsoft.com/beta/$metadata#users",
  "@odata.count": 1,
  "value": [
    {
      "displayName": "Grady Archie",
      "givenName": "Grady",
      "jobTitle": "Designer",
      "mail": "GradyA@contoso.com",
      "userPrincipalName": "GradyA@contoso.com",
      "id": "e8b753b5-4117-464e-9a08-713e1ff266b3"
      }
    ]
}

Beispiel 9: Verwenden Sie $search, um Benutzer mit Anzeigenamen abzurufen, die die Buchstaben „wa“ enthalten, einschließlich der Anzahl zurückgegebener Objekte

Anforderung

Nachfolgend sehen Sie ein Beispiel der Anforderung. Für diese Anforderung muss die Kopfzeile ConsistencyLevel auf eventual festgelegt werden, da $search in der Anforderung enthalten ist. Weitere Informationen zur Verwendung von ConsistencyLevel und $count finden Sie unter Erweiterte Abfragefunktionen für Azure AD-Verzeichnisobjekte.

GET https://graph.microsoft.com/beta/users?$search="displayName:wa"&$orderby=displayName&$count=true
ConsistencyLevel: eventual

Antwort

Nachfolgend sehen Sie ein Beispiel der Antwort.

Hinweis: Das hier gezeigte Antwortobjekt kann zur besseren Lesbarkeit gekürzt werden.

HTTP/1.1 200 OK
Content-type: application/json

{
  "@odata.context":"https://graph.microsoft.com/beta/$metadata#users",
  "@odata.count":7,
  "value":[
    {
      "displayName":"Oscar Ward",
      "givenName":"Oscar",
      "mail":"oscarward@contoso.com",
      "mailNickname":"oscward",
      "userPrincipalName":"oscarward@contoso.com"
    }
  ]
}

Beispiel 10: Verwenden Sie $search, um Benutzer mit Anzeigenamen zu abzurufen, die die Buchstaben „wa“ oder „to“ enthalten, einschließlich der Anzahl zurückgegebener Objekte.

Anforderung

Nachfolgend sehen Sie ein Beispiel der Anforderung. Für diese Anforderung muss die Kopfzeile ConsistencyLevel auf eventual festgelegt werden, da $search in der Anforderung enthalten ist. Weitere Informationen zur Verwendung von ConsistencyLevel und $count finden Sie unter Erweiterte Abfragefunktionen für Azure AD-Verzeichnisobjekte.

GET https://graph.microsoft.com/beta/users?$search="displayName:wa" OR "displayName:to"&$orderby=displayName&$count=true
ConsistencyLevel: eventual

Antwort

Nachfolgend sehen Sie ein Beispiel der Antwort.

Hinweis: Das hier gezeigte Antwortobjekt kann zur besseren Lesbarkeit gekürzt werden.

HTTP/1.1 200 OK
Content-type: application/json

{
  "@odata.context":"https://graph.microsoft.com/beta/$metadata#users",
  "@odata.count":7,
  "value":[
    {
      "displayName":"Oscar Ward",
      "givenName":"Oscar",
      "mail":"oscarward@contoso.com",
      "mailNickname":"oscward",
      "userPrincipalName":"oscarward@contoso.com"
    },
    {
      "displayName":"contoso1",
      "mail":"'contoso1@gmail.com",
      "mailNickname":"contoso1_gmail.com#EXT#",
      "proxyAddresses":["SMTP:contoso1@gmail.com"],
      "userPrincipalName":"contoso1_gmail.com#EXT#@microsoft.onmicrosoft.com"
    }
  ]
}

Beispiel 11: Verwenden des $filter, um Benutzer zu erhalten, denen eine bestimmte Lizenz zugewiesen ist

Anforderung

Nachfolgend sehen Sie ein Beispiel der Anforderung. Für diese Anforderung muss die Kopfzeile ConsistencyLevel auf eventual festgelegt werden, da $search in der Anforderung enthalten ist. Weitere Informationen zur Verwendung von ConsistencyLevel und $count finden Sie unter Erweiterte Abfragefunktionen für Azure AD-Verzeichnisobjekte.

GET https://graph.microsoft.com/beta/users?$select=id,mail,assignedLicenses&$filter=assignedLicenses/any(u:u/skuId eq cbdc14ab-d96c-4c30-b9f4-6ada7cdc1d46)

Antwort

Nachfolgend sehen Sie ein Beispiel der Antwort.

HTTP/1.1 200 OK
Content-type: application/json

{
  "@odata.context": "https://graph.microsoft.com/beta/$metadata#users(id,mail,assignedLicenses)",
  "value": [
    {
      "id": "cb4954e8-467f-4a6d-a8c8-28b9034fadbc",
      "mail": "admin@contoso.com",
      "assignedLicenses": [
        {
          "disabledPlans": [],
          "skuId": "cbdc14ab-d96c-4c30-b9f4-6ada7cdc1d46"
        }
      ]
    },
    {
      "id": "81a133c2-bdf2-4e67-8755-7264366b04ee",
      "mail": "DebraB@contoso.com",
      "assignedLicenses": [
        {
          "disabledPlans": [],
          "skuId": "cbdc14ab-d96c-4c30-b9f4-6ada7cdc1d46"
        }
      ]
    }
  ]
}