Compartir a través de


Funcionalidades avanzadas de consulta en objetos De id. de entra de Microsoft

Microsoft Graph admite funcionalidades avanzadas de consulta en varios objetos de id. de Microsoft Entra, también denominados objetos de directorio, para ayudarle a acceder de forma eficaz a los datos. Por ejemplo, la adición de los operadores No (not), No es igual (ne) y Termina con (endsWith) en el parámetro de consulta $filter.

El motor de consulta de Microsoft Graph usa un almacén de índices para satisfacer las solicitudes de consulta. Para agregar compatibilidad con funcionalidades de consulta adicionales en algunas propiedades, es posible que esas propiedades se indexen en un almacén independiente. Esta indexación independiente mejora el rendimiento de las consultas. Sin embargo, estas funcionalidades avanzadas de consulta no están disponibles de forma predeterminada, pero el solicitante debe establecer el encabezado eventualConsistencyLevel en y, excepto en $search, usar el parámetro de $count consulta. El encabezado ConsistencyLevel y $count se denominan parámetros de consulta avanzada.

Por ejemplo, si desea recuperar solo las cuentas de usuario inactivas, puede ejecutar cualquiera de estas consultas que usan el parámetro de consulta $filter.

Opción 1: Use el parámetro de $filter consulta con el eq operador . Esta solicitud funciona de forma predeterminada y no requiere los parámetros de consulta avanzados.

GET https://graph.microsoft.com/v1.0/users?$filter=accountEnabled eq false

Opción 2: Use el parámetro de $filter consulta con el ne operador . Esta solicitud no se admite de forma predeterminada porque el ne operador solo se admite en consultas avanzadas. Por lo tanto, debe agregar el encabezado ConsistencyLevel establecido en eventualy usar la cadena de $count=true consulta.

GET https://graph.microsoft.com/v1.0/users?$filter=accountEnabled ne true&$count=true
ConsistencyLevel: eventual

Objetos de id. de microsoft entra (directorio) que admiten funcionalidades avanzadas de consulta

Las funcionalidades avanzadas de consulta solo se admiten en objetos de directorio y sus relaciones, incluidos los siguientes objetos:

Objeto Relaciones
administrativeUnit
  • members
  • application
  • owners
  • appRoleAssignment -
    dispositivo
  • memberOf
  • transitiveMemberOf
  • registeredUsers
  • registeredOwners
  • group
  • members
  • transitiveMembers
  • memberOf
  • transitiveMemberOf
  • owners
  • appRoleAssignments
  • oAuth2PermissionGrant (concesiones de permisos delegados) -
    orgContact
  • memberOf
  • transitiveMemberOf
  • servicePrincipal
  • memberOf
  • transitiveMemberOf
  • appRoleAssignments
  • appRoleAssignmentsTo
  • oAuth2PermissionGrant
  • user
  • memberOf
  • transitiveMemberOf
  • ownedObjects
  • registeredDevices
  • ownedDevices
  • transitiveManagers
  • directReports
  • transitiveReports
  • appRoleAssignments
  • oAuth2PermissionGrant
  • Escenarios de consulta que requieren funcionalidades avanzadas de consulta

    La siguiente tabla enumera los escenarios de consulta de los objetos del directorio que solo se admiten en las consultas avanzadas:

    Descripción Ejemplo
    Uso de $count como segmento de dirección URL GET~/groups/$count
    Uso de $count como parámetro de cadena de consulta GET~/servicePrincipals?$count=true
    Uso de $count en una expresión $filter GET~/users?$filter=assignedLicenses/$count eq 0&$count=true
    Uso de $search GET~/applications?$search="displayName:Browser"
    Uso de $orderby en propiedades de selección GET~/applications?$orderby=displayName&$count=true
    Uso de $filter con el operador endsWith GET~/users?$count=true&$filter=endsWith(mail,'@outlook.com')
    Uso de $filter y $orderby en la misma consulta GET../applications?$orderby=displayName&$filter=startsWith(displayName, 'Box')&$count=true
    Uso de $filter con los operadores startsWith en propiedades específicas. GET~/users?$filter=startsWith(mobilePhone, '25478') OR startsWith(mobilePhone, '25473')&$count=true
    Uso de $filter con operadores ne y not GET~/users?$filter=companyName ne null and NOT(companyName eq 'Microsoft')&$count=true
    Uso de $filter con operadores not y startsWith GET~/users?$filter=NOT startsWith(displayName, 'Conf')&$count=true
    Uso de $filter en una colección con el operador endsWith GET~/users?$count=true&$filter=proxyAddresses/any (p:endsWith(p, 'contoso.com'))&$select=id,displayName,proxyaddresses
    Uso de la conversión de OData con la lista de miembros transitivos GET~/me/transitiveMemberOf/microsoft.graph.group?$count=true

    Nota:

    • Solo se admite usar $filter y $orderby juntos con consultas avanzadas.
    • $expand no se admite actualmente con consultas avanzadas.
    • Las funcionalidades de consulta avanzadas no están disponibles actualmente para los inquilinos de Azure AD B2C.
    • Para usar funcionalidades de consulta avanzadas en solicitudes por lotes, especifica el encabezado ConsistencyLevel en el cuerpo JSON de la solicitud de POST .

    Compatibilidad con el filtrado por propiedades de objetos de id. de Microsoft Entra (directorio)

    Las propiedades de los objetos de directorio se comportan de forma diferente en cuanto a su compatibilidad con los parámetros de consulta. Los siguientes son escenarios comunes para los objetos del directorio:

    • Las consultas admitidas de forma predeterminada también funcionarán con parámetros de consulta avanzados, pero la respuesta será finalmente coherente.
    • El operador in se admite de forma predeterminada donde se admita el operador eq de forma predeterminada.
    • El endswith operador solo se admite con parámetros de consulta avanzados por correo, otras propiedadesMails, userPrincipalName y proxyAddresses .
    • La obtención de colecciones vacías (/$count eq 0, /$count ne 0) y colecciones con menos de un objeto (/$count eq 1, /$count ne 1) solo se admite con parámetros de consulta avanzados.
    • Los not operadores de negación y ne solo se admiten con parámetros de consulta avanzados.
      • Todas las propiedades que admiten el eq operador también admiten los ne operadores o not .
      • Para las consultas que usan el operador lambda any, use el operador not. Vea Filtrar mediante operadores lambda.

    En las tablas siguientes se resume la compatibilidad con $filter operadores por propiedades de objetos de directorio e indica dónde se admite la consulta a través de funcionalidades de consulta avanzadas.

    Leyenda

    • El filtro funciona de forma predeterminada. No requiere parámetros de consulta avanzados. El $filter operador funciona de forma predeterminada para esa propiedad.
    • El filtro requiere parámetros de consulta avanzados. El $filter operador requiereparámetros de consulta avanzados, que son:
      • Encabezado ConsistencyLevel=eventual
      • Cadena de consulta $count=true
    • No se admite. El $filter operador no se admite en esa propiedad. Envíenos comentarios para solicitar que esta propiedad sea compatible con $filter para sus escenarios.
    • Las celdas en blanco indican que la consulta no es válida para esa propiedad.
    • La columna valor NULL indica que la propiedad admite valores NULL y se puede filtrar mediante null.
    • Las propiedades que no aparecen aquí no admiten $filter en absoluto.

    Propiedades de unidad administrativa

    Propiedad eq startsWith eq Null
    description Avanzadas avanzadas Avanzadas avanzadas Avanzadas avanzadas
    displayName Valor predeterminado predeterminado Valor predeterminado predeterminado Avanzadas avanzadas
    isMemberManagementRestricted Valor predeterminado predeterminado NotSupported
    membershipRule Valor predeterminado predeterminado Valor predeterminado predeterminado NotSupported
    membershipRuleProcessingState Valor predeterminado predeterminado NotSupported
    scopedRoleMembers/any(s:s/id) Valor predeterminado predeterminado

    Propiedades de la aplicación

    Propiedad eq startsWith ge/le eq Null
    appId Valor predeterminado predeterminado
    createdDateTime Valor predeterminado predeterminado Valor predeterminado predeterminado Avanzadas avanzadas
    createdOnBehalfOf/id Valor predeterminado predeterminado
    description Avanzadas avanzadas Avanzadas avanzadas Avanzadas avanzadas
    disabledByMicrosoftStatus Valor predeterminado predeterminado NotSupported
    displayName Valor predeterminado predeterminado Valor predeterminado predeterminado Avanzadas avanzadas
    federatedIdentityCredentials/any(f:f/issuer) Avanzadas avanzadas Avanzadas avanzadas NotSupported
    federatedIdentityCredentials/any(f:f/name) Avanzadas avanzadas Avanzadas avanzadas NotSupported
    federatedIdentityCredentials/any(f:f/subject) Avanzadas avanzadas Avanzadas avanzadas NotSupported
    identifierUris/any(p:p) Valor predeterminado predeterminado Valor predeterminado predeterminado
    info/logoUrl NotSupported NotSupported Avanzadas avanzadas
    info/termsOfServiceUrl Avanzadas avanzadas Avanzadas avanzadas NotSupported
    notas Avanzadas avanzadas Avanzadas avanzadas Avanzadas avanzadas
    publicClient/redirectUris/any(p:p) Avanzadas avanzadas Avanzadas avanzadas
    publisherDomain Valor predeterminado predeterminado Valor predeterminado predeterminado NotSupported
    requiredResourceAccess/any(r:r/resourceAppId) Avanzadas avanzadas
    serviceManagementReference Avanzadas avanzadas Avanzadas avanzadas Avanzadas avanzadas
    signInAudience Valor predeterminado predeterminado NotSupported
    spa/redirectUris/any(p:p) Avanzadas avanzadas Avanzadas avanzadas
    tags/any(p:p) Valor predeterminado predeterminado Valor predeterminado predeterminado
    uniqueName Valor predeterminado predeterminado Valor predeterminado predeterminado NotSupported
    verifiedPublisher/displayName Avanzadas avanzadas Avanzadas avanzadas Avanzadas avanzadas
    web/homePageUrl Avanzadas avanzadas Avanzadas avanzadas Avanzadas avanzadas
    web/redirectUris/any(p:p) Avanzadas avanzadas Avanzadas avanzadas

    Las siguientes propiedades de la entidad de aplicación admiten $count una colección en una expresión de filtro.

    Propiedad eq Count 0 eq Count 1
    extensionProperties/$count Avanzadas avanzadas NotSupported
    federatedIdentityCredentials/$count Avanzadas avanzadas NotSupported

    Propiedades del contrato

    Propiedad eq startsWith
    customerId Valor predeterminado predeterminado
    defaultDomainName Valor predeterminado predeterminado Valor predeterminado predeterminado
    displayName Valor predeterminado predeterminado Valor predeterminado predeterminado

    Propiedades de dispositivo

    Propiedad eq startsWith ge/le eq Null
    accountEnabled Valor predeterminado predeterminado NotSupported
    alternativeSecurityIds/any(a:a/identityProvider) Avanzadas avanzadas Avanzadas avanzadas NotSupported
    alternativeSecurityIds/any(a:a/type) Valor predeterminado predeterminado Avanzadas avanzadas NotSupported
    approximateLastSignInDateTime Valor predeterminado predeterminado Valor predeterminado predeterminado Avanzadas avanzadas
    deviceCategory Avanzadas avanzadas Avanzadas avanzadas Avanzadas avanzadas
    deviceId Valor predeterminado predeterminado
    deviceOwnership Avanzadas avanzadas Avanzadas avanzadas
    displayName Valor predeterminado predeterminado Valor predeterminado predeterminado Avanzadas avanzadas
    enrollmentProfileName Avanzadas avanzadas Avanzadas avanzadas Avanzadas avanzadas
    extensionAttributes/extensionAttribute1-15 Avanzadas avanzadas Avanzadas avanzadas Avanzadas avanzadas
    hostnames/any(p:p) Valor predeterminado predeterminado Valor predeterminado predeterminado
    isCompliant Valor predeterminado predeterminado NotSupported
    isManaged Valor predeterminado predeterminado NotSupported
    isRooted Avanzadas avanzadas Avanzadas avanzadas
    managementType Avanzadas avanzadas Avanzadas avanzadas
    manufacturer Avanzadas avanzadas Avanzadas avanzadas Avanzadas avanzadas
    mdmAppId Valor predeterminado predeterminado
    model Avanzadas avanzadas Avanzadas avanzadas Avanzadas avanzadas
    onPremisesLastSyncDateTime Valor predeterminado predeterminado Valor predeterminado predeterminado NotSupported
    onPremisesSecurityIdentifier Valor predeterminado predeterminado Avanzadas avanzadas
    onPremisesSyncEnabled Valor predeterminado predeterminado Avanzadas avanzadas
    operatingSystem Valor predeterminado predeterminado Valor predeterminado predeterminado Avanzadas avanzadas
    operatingSystemVersion Valor predeterminado predeterminado Valor predeterminado predeterminado Avanzadas avanzadas
    physicalIds/any(p:p) Valor predeterminado predeterminado
    profileType Valor predeterminado predeterminado NotSupported
    registrationDateTime Avanzadas avanzadas Avanzadas avanzadas Avanzadas avanzadas
    trustType Valor predeterminado predeterminado NotSupported

    Las siguientes propiedades de la compatibilidad de la entidad $count de dispositivo de una colección en una expresión de filtro.

    Propiedad eq Count 0 eq Count 1
    physicalIds/$count Avanzadas avanzadas NotSupported
    systemLabels/$count Avanzadas avanzadas NotSupported

    Propiedades del rol de directorio

    Propiedad eq startsWith eq Null
    description Avanzadas avanzadas Avanzadas avanzadas Avanzadas avanzadas
    displayName Valor predeterminado predeterminado Avanzadas avanzadas Avanzadas avanzadas
    roleTemplateId Valor predeterminado predeterminado NotSupported

    Propiedades de grupo

    Propiedad eq startsWith ge/le eq Null
    appRoleAssignments/any(a:a/id) Valor predeterminado predeterminado
    assignedLicenses/any(a:a/skuId) Valor predeterminado predeterminado
    classification Valor predeterminado predeterminado Valor predeterminado predeterminado NotSupported
    createdByAppId Valor predeterminado predeterminado
    createdOnBehalfOf/id Valor predeterminado predeterminado
    description Avanzadas avanzadas Avanzadas avanzadas Avanzadas avanzadas
    displayName Valor predeterminado predeterminado Valor predeterminado predeterminado Avanzadas avanzadas
    expirationDateTime Avanzadas avanzadas Avanzadas avanzadas NotSupported
    hasMembersWithLicenseErrors Valor predeterminado predeterminado Valor predeterminado predeterminado
    infoCatalogs/any(p:p) Valor predeterminado predeterminado Valor predeterminado predeterminado
    isAssignableToRole Valor predeterminado predeterminado NotSupported
    mail Valor predeterminado predeterminado Valor predeterminado predeterminado Avanzadas avanzadas
    mailEnabled Valor predeterminado predeterminado NotSupported
    mailNickname Valor predeterminado predeterminado Valor predeterminado predeterminado Avanzadas avanzadas
    membershipRule Valor predeterminado predeterminado Valor predeterminado predeterminado NotSupported
    membershipRuleProcessingState Valor predeterminado predeterminado NotSupported
    onPremisesLastSyncDateTime Valor predeterminado predeterminado Valor predeterminado predeterminado NotSupported
    onPremisesProvisioningErrors/any(o:o/category) Valor predeterminado predeterminado NotSupported
    onPremisesProvisioningErrors/any(o:o/propertyCausingError) Valor predeterminado predeterminado NotSupported
    onPremisesSamAccountName Avanzadas avanzadas Avanzadas avanzadas NotSupported
    onPremisesSecurityIdentifier Valor predeterminado predeterminado Avanzadas avanzadas
    onPremisesSyncEnabled Valor predeterminado predeterminado Avanzadas avanzadas
    preferredLanguage Avanzadas avanzadas Avanzadas avanzadas Avanzadas avanzadas
    proxyAddresses/any(p:p) Valor predeterminado predeterminado Valor predeterminado predeterminado
    renewedDateTime Valor predeterminado predeterminado Valor predeterminado predeterminado NotSupported
    resourceBehaviorOptions/any(p:p) Valor predeterminado predeterminado
    resourceProvisioningOptions/any(p:p) Valor predeterminado predeterminado
    securityEnabled Valor predeterminado predeterminado NotSupported
    settings/any(s:s/displayName) Valor predeterminado predeterminado Valor predeterminado predeterminado NotSupported
    settings/any(s:s/id) Valor predeterminado predeterminado
    uniqueName Valor predeterminado predeterminado Valor predeterminado predeterminado NotSupported

    Las siguientes propiedades de la compatibilidad de entidades $count de grupo de una colección en una expresión de filtro.

    Propiedad eq Count 0 eq Count 1
    assignedLicenses/$count Avanzadas avanzadas NotSupported
    onPremisesProvisioningErrors/$count Avanzadas avanzadas NotSupported
    proxyAddresses/$count Avanzadas avanzadas NotSupported

    Propiedades de contacto de la organización

    Propiedad eq startsWith ge/le eq Null
    CompanyName Avanzadas avanzadas Avanzadas avanzadas Avanzadas avanzadas
    department Valor predeterminado predeterminado Valor predeterminado predeterminado Avanzadas avanzadas
    displayName Valor predeterminado predeterminado Valor predeterminado predeterminado Avanzadas avanzadas
    givenName Valor predeterminado predeterminado Valor predeterminado predeterminado Avanzadas avanzadas
    jobTitle Valor predeterminado predeterminado Valor predeterminado predeterminado Avanzadas avanzadas
    mail Valor predeterminado predeterminado Valor predeterminado predeterminado Avanzadas avanzadas
    mailNickname Valor predeterminado predeterminado Valor predeterminado predeterminado Avanzadas avanzadas
    manager/id Valor predeterminado predeterminado
    onPremisesLastSyncDateTime Valor predeterminado predeterminado Valor predeterminado predeterminado NotSupported
    onPremisesProvisioningErrors/any(o:o/category) Valor predeterminado predeterminado NotSupported
    onPremisesProvisioningErrors/any(o:o/propertyCausingError) Valor predeterminado predeterminado NotSupported
    onPremisesSyncEnabled Valor predeterminado predeterminado Avanzadas avanzadas
    proxyAddresses/any(p:p) Valor predeterminado predeterminado Valor predeterminado predeterminado
    surname Valor predeterminado predeterminado Valor predeterminado predeterminado Avanzadas avanzadas

    Las siguientes propiedades de la entidad orgContact admiten $count una colección en una expresión de filtro.

    Propiedad eq Count 0 eq Count 1
    onPremisesProvisioningErrors/$count Avanzadas avanzadas NotSupported
    proxyAddresses/$count Avanzadas avanzadas NotSupported

    Propiedades de la entidad de servicio

    Propiedad eq startsWith ge/le eq Null
    accountEnabled Valor predeterminado predeterminado NotSupported
    alternativeNames/any(p:p) Valor predeterminado predeterminado Valor predeterminado predeterminado
    appId Valor predeterminado predeterminado
    appOwnerOrganizationId Avanzadas avanzadas
    appRoleAssignedTo/any(a:a/id) Valor predeterminado predeterminado
    appRoleAssignmentRequired Avanzadas avanzadas NotSupported
    appRoleAssignments/any(a:a/id) Valor predeterminado predeterminado
    applicationTemplateId Valor predeterminado predeterminado
    createdObjects/any(c:c/id) Avanzadas avanzadas
    delegatedPermissionClassifications/any(d:d/id) Valor predeterminado predeterminado
    description Avanzadas avanzadas Avanzadas avanzadas Avanzadas avanzadas
    displayName Valor predeterminado predeterminado Valor predeterminado predeterminado Avanzadas avanzadas
    federatedIdentityCredentials/any(f:f/issuer) Avanzadas avanzadas Avanzadas avanzadas NotSupported
    federatedIdentityCredentials/any(f:f/name) Avanzadas avanzadas Avanzadas avanzadas NotSupported
    federatedIdentityCredentials/any(f:f/subject) Avanzadas avanzadas Avanzadas avanzadas NotSupported
    homepage Avanzadas avanzadas Avanzadas avanzadas Avanzadas avanzadas
    info/logoUrl NotSupported NotSupported Avanzadas avanzadas
    info/termsOfServiceUrl Avanzadas avanzadas Avanzadas avanzadas NotSupported
    notas Avanzadas avanzadas Avanzadas avanzadas Avanzadas avanzadas
    oauth2PermissionGrants/any(o:o/id) Valor predeterminado predeterminado
    preferredSingleSignOnMode Valor predeterminado predeterminado NotSupported
    preferredTokenSigningKeyEndDateTime Valor predeterminado predeterminado Valor predeterminado predeterminado NotSupported
    publisherName Valor predeterminado predeterminado Valor predeterminado predeterminado NotSupported
    remoteDesktopSecurityConfiguration/id Valor predeterminado predeterminado
    remoteDesktopSecurityConfiguration/targetDeviceGroups/any(t:t/displayName) Valor predeterminado predeterminado Valor predeterminado predeterminado NotSupported
    remoteDesktopSecurityConfiguration/targetDeviceGroups/any(t:t/id) Valor predeterminado predeterminado
    servicePrincipalNames/any(p:p) Valor predeterminado predeterminado Valor predeterminado predeterminado
    servicePrincipalType Valor predeterminado predeterminado NotSupported
    tags/any(p:p) Valor predeterminado predeterminado Valor predeterminado predeterminado
    verifiedPublisher/displayName Avanzadas avanzadas Avanzadas avanzadas Avanzadas avanzadas

    Las siguientes propiedades de la entidad servicePrincipal admiten $count una colección en una expresión de filtro.

    Propiedad eq Count 0 eq Count 1
    federatedIdentityCredentials/$count Avanzadas avanzadas NotSupported
    ownedObjects/$count Avanzadas avanzadas Avanzadas avanzadas

    Propiedades de usuarios

    Propiedad eq startsWith ge/le eq Null
    accountEnabled Valor predeterminado predeterminado NotSupported
    ageGroup Valor predeterminado predeterminado NotSupported
    appRoleAssignments/any(a:a/id) Valor predeterminado predeterminado
    assignedLicenses/any(a:a/skuId) Valor predeterminado predeterminado
    assignedPlans/any(a:a/capabilityStatus) Avanzadas avanzadas NotSupported
    assignedPlans/any(a:a/service) Avanzadas avanzadas Avanzadas avanzadas NotSupported
    assignedPlans/any(a:a/servicePlanId) Avanzadas avanzadas
    authorizationInfo/certificateUserIds/any(p:p) Avanzadas avanzadas
    businessPhones/any(p:p) Avanzadas avanzadas Avanzadas avanzadas
    city Valor predeterminado predeterminado Valor predeterminado predeterminado Avanzadas avanzadas
    cloudRealtimeCommunicationInfo/isSipEnabled Valor predeterminado predeterminado NotSupported
    CompanyName Avanzadas avanzadas Avanzadas avanzadas Avanzadas avanzadas
    consentProvidedForMinor Valor predeterminado predeterminado NotSupported
    country Valor predeterminado predeterminado Valor predeterminado predeterminado Avanzadas avanzadas
    createdDateTime Valor predeterminado predeterminado Valor predeterminado predeterminado Avanzadas avanzadas
    createdObjects/any(c:c/id) Avanzadas avanzadas
    creationType Valor predeterminado predeterminado NotSupported
    department Valor predeterminado predeterminado Valor predeterminado predeterminado Avanzadas avanzadas
    displayName Valor predeterminado predeterminado Valor predeterminado predeterminado Avanzadas avanzadas
    employeeHireDate Avanzadas avanzadas Avanzadas avanzadas NotSupported
    employeeId Valor predeterminado predeterminado Avanzadas avanzadas
    employeeOrgData/costCenter Avanzadas avanzadas Avanzadas avanzadas NotSupported
    employeeOrgData/division Avanzadas avanzadas Avanzadas avanzadas NotSupported
    employeeType Avanzadas avanzadas NotSupported
    externalUserState Valor predeterminado predeterminado NotSupported
    faxNumber Avanzadas avanzadas Avanzadas avanzadas Avanzadas avanzadas
    givenName Valor predeterminado predeterminado Valor predeterminado predeterminado Avanzadas avanzadas
    identities/any(i:i/issuer) Valor predeterminado predeterminado NotSupported Valor predeterminado predeterminado
    imAddresses/any(p:p) Valor predeterminado predeterminado Valor predeterminado predeterminado
    infoCatalogs/any(p:p) Valor predeterminado predeterminado Valor predeterminado predeterminado
    isLicenseReconciliationNeeded Valor predeterminado predeterminado NotSupported
    isResourceAccount Valor predeterminado predeterminado NotSupported
    jobTitle Valor predeterminado predeterminado Valor predeterminado predeterminado Avanzadas avanzadas
    licenseDetails/any(l:l/id) Valor predeterminado predeterminado
    mail Valor predeterminado predeterminado Valor predeterminado predeterminado Avanzadas avanzadas
    mailNickname Valor predeterminado predeterminado Valor predeterminado predeterminado Avanzadas avanzadas
    manager/id NotSupported
    mobilePhone Avanzadas avanzadas Avanzadas avanzadas Avanzadas avanzadas
    oauth2PermissionGrants/any(o:o/id) Valor predeterminado predeterminado
    officeLocation Avanzadas avanzadas Avanzadas avanzadas Avanzadas avanzadas
    onPremisesDistinguishedName Avanzadas avanzadas Avanzadas avanzadas Avanzadas avanzadas
    onPremisesExtensionAttributes/extensionAttribute1-15 Avanzadas avanzadas Avanzadas avanzadas Avanzadas avanzadas
    onPremisesImmutableId Valor predeterminado predeterminado
    onPremisesLastSyncDateTime Valor predeterminado predeterminado Valor predeterminado predeterminado NotSupported
    onPremisesProvisioningErrors/any(o:o/category) Valor predeterminado predeterminado NotSupported
    onPremisesProvisioningErrors/any(o:o/propertyCausingError) Valor predeterminado predeterminado NotSupported
    onPremisesSamAccountName Avanzadas avanzadas Avanzadas avanzadas NotSupported
    onPremisesSecurityIdentifier Valor predeterminado predeterminado Avanzadas avanzadas
    onPremisesSipInfo/isSipEnabled Avanzadas avanzadas NotSupported
    onPremisesSyncEnabled Valor predeterminado predeterminado Avanzadas avanzadas
    otherMails/any(p:p) Valor predeterminado predeterminado Valor predeterminado predeterminado
    passwordPolicies NotSupported NotSupported Avanzadas avanzadas
    passwordProfile/forceChangePasswordNextSignIn Avanzadas avanzadas Avanzadas avanzadas
    passwordProfile/forceChangePasswordNextSignInWithMfa Avanzadas avanzadas Avanzadas avanzadas
    postalCode Avanzadas avanzadas Avanzadas avanzadas Avanzadas avanzadas
    preferredLanguage Avanzadas avanzadas Avanzadas avanzadas Avanzadas avanzadas
    provisionedPlans/any(p:p/provisioningStatus) Avanzadas avanzadas NotSupported
    provisionedPlans/any(p:p/service) Avanzadas avanzadas Avanzadas avanzadas NotSupported
    proxyAddresses/any(p:p) Valor predeterminado predeterminado Valor predeterminado predeterminado
    scopedRoleMemberOf/any(s:s/id) Valor predeterminado predeterminado
    showInAddressList Avanzadas avanzadas NotSupported
    state Valor predeterminado predeterminado Avanzadas avanzadas
    streetAddress Avanzadas avanzadas Avanzadas avanzadas Avanzadas avanzadas
    surname Valor predeterminado predeterminado Valor predeterminado predeterminado Avanzadas avanzadas
    usageLocation Valor predeterminado predeterminado Valor predeterminado predeterminado Avanzadas avanzadas
    userPrincipalName Valor predeterminado predeterminado Valor predeterminado predeterminado NotSupported
    userType Valor predeterminado predeterminado Avanzadas avanzadas

    Las siguientes propiedades de la compatibilidad de la entidad $count de usuario de una colección en una expresión de filtro.

    Propiedad eq Count 0 eq Count 1
    assignedLicenses/$count Avanzadas avanzadas NotSupported
    onPremisesProvisioningErrors/$count Avanzadas avanzadas NotSupported
    otherMails/$count Avanzadas avanzadas NotSupported
    ownedObjects/$count Avanzadas avanzadas Avanzadas avanzadas
    proxyAddresses/$count Avanzadas avanzadas NotSupported

    En la tabla siguiente se muestra la compatibilidad con $filter otras propiedades de extensión en el objeto de usuario .

    Tipo de extensión eq startsWith eq null
    Extensiones de esquema Avanzadas avanzadas Avanzadas avanzadas Avanzadas avanzadas
    Extensiones abiertas NotSupported NotSupported NotSupported
    Extensiones de directorio Valor predeterminado predeterminado Avanzadas avanzadas Avanzadas avanzadas

    Compatibilidad con la ordenación por propiedades de objetos de id. de Microsoft Entra (directorio)

    En la tabla siguiente se resume la compatibilidad con $orderby las propiedades de los objetos de directorio e indica dónde se admite la ordenación mediante funcionalidades de consulta avanzadas.

    Leyenda

    • La ordenación funciona de forma predeterminada. No requiere parámetros de consulta avanzados. El $orderby operador funciona de forma predeterminada para esa propiedad.
    • La ordenación requiere parámetros de consulta avanzados. El $orderby operador requiereparámetros de consulta avanzados, que son:
      • Encabezado ConsistencyLevel=eventual
      • Cadena de consulta $count=true
    • El uso de $filter y $orderby en la misma consulta para objetos de directorio siempre requiere parámetros de consulta avanzados. Para obtener más información, consulte Escenarios de consulta que requieren funcionalidades avanzadas de consulta.
    Objeto de directorio Nombre de propiedad $orderby
    administrativeUnit createdDateTime Avanzadas avanzadas
    administrativeUnit deletedDateTime Avanzadas avanzadas
    administrativeUnit displayName Avanzadas avanzadas
    aplicación createdDateTime Avanzadas avanzadas
    aplicación deletedDateTime Avanzadas avanzadas
    aplicación displayName Avanzadas avanzadas
    orgContact createdDateTime Avanzadas avanzadas
    orgContact displayName Avanzadas avanzadas
    dispositivo approximateLastSignInDateTime Avanzadas avanzadas
    dispositivo createdDateTime Avanzadas avanzadas
    dispositivo deletedDateTime Avanzadas avanzadas
    dispositivo displayName Avanzadas avanzadas
    grupo deletedDateTime Avanzadas avanzadas
    grupo displayName Valor predeterminado predeterminado
    servicePrincipal createdDateTime Avanzadas avanzadas
    servicePrincipal deletedDateTime Avanzadas avanzadas
    servicePrincipal displayName Avanzadas avanzadas
    usuario createdDateTime Avanzadas avanzadas
    usuario deletedDateTime Avanzadas avanzadas
    usuario displayName Valor predeterminado predeterminado
    usuario userPrincipalName Valor predeterminado predeterminado
    [todos los demás] [todos los demás] NotSupported

    Control de errores para consultas avanzadas en objetos de directorio

    En la sección siguiente se proporcionan ejemplos de escenarios de error comunes cuando no se usan parámetros de consulta avanzados cuando es necesario.

    El recuento de objetos de directorio solo se admite mediante los parámetros de consultas avanzadas. Si no se especifica el ConsistencyLevel=eventual encabezado, la solicitud devuelve un error cuando se usa el $count segmento de dirección URL (/$count) o omite de forma silenciosa el $count parámetro de consulta (?$count=true) si se usa.

    GET https://graph.microsoft.com/v1.0/users/$count
    
    {
        "error": {
            "code": "Request_BadRequest",
            "message": "$count is not currently supported.",
            "innerError": {
                "date": "2021-05-18T19:03:10",
                "request-id": "d9bbd4d8-bb2d-44e6-99a1-71a9516da744",
                "client-request-id": "539da3bd-942f-25db-636b-27f6f6e8eae4"
            }
        }
    }
    

    En el caso de los objetos de directorio, $search solo funciona en consultas avanzadas. Si no se especifica el encabezado ConsistencyLevel , la solicitud devuelve un error.

    GET https://graph.microsoft.com/v1.0/applications?$search="displayName:Browser"
    
    {
        "error": {
            "code": "Request_UnsupportedQuery",
            "message": "Request with $search query parameter only works through MSGraph with a special request header: 'ConsistencyLevel: eventual'",
            "innerError": {
                "date": "2021-05-27T14:26:47",
                "request-id": "9b600954-ba11-4899-8ce9-6abad341f299",
                "client-request-id": "7964ef27-13a3-6ca4-ed7b-73c271110867"
            }
        }
    }
    

    Si una propiedad o un parámetro de consulta en la URL solo se admite en las consultas avanzadas pero falta el encabezado ConsistencyLevel o la cadena de consulta $count=true, la solicitud devuelve un error.

    GET https://graph.microsoft.com/beta/users?$filter=endsWith(userPrincipalName,'%23EXT%23@contoso.com')
    
    {
        "error": {
            "code": "Request_UnsupportedQuery",
            "message": "Operator 'endsWith' is not supported because the required parameters might be missing. Try adding $count=true query parameter and ConsistencyLevel:eventual header. Refer to https://aka.ms/graph-docs/advanced-queries for more information",
            "innerError": {
                "date": "2023-07-14T08:43:39",
                "request-id": "b3731da7-5c46-4c37-a8e5-b190124d2531",
                "client-request-id": "a1556ddf-4794-929d-0105-b753a78b4c68"
            }
        }
    }
    

    Si una propiedad no se indexa para admitir un parámetro de consulta, la solicitud devuelve un error incluso si se especifican parámetros de consulta avanzados. Por ejemplo, la propiedad createdDateTime del recurso de grupo no se indexa para las funcionalidades de consulta.

    GET https://graph.microsoft.com/beta/groups?$filter=createdDateTime ge 2021-11-01&$count=true
    ConsistencyLevel: eventual
    
    {
        "error": {
            "code": "Request_UnsupportedQuery",
            "message": "Unsupported or invalid query filter clause specified for property 'createdDateTime' of resource 'Group'.",
            "innerError": {
                "date": "2023-07-14T08:42:44",
                "request-id": "b6a5f998-94c8-430d-846d-2eaae3031492",
                "client-request-id": "2be83e05-649e-2508-bcd9-62e666168fc8"
            }
        }
    }
    

    Sin embargo, una solicitud que incluya parámetros de consulta podría producir un error silencioso. Por ejemplo, para parámetros de consulta no admitidos y para combinaciones no admitidas de parámetros de consulta. En estos casos, examine los datos devueltos por la solicitud para determinar si los parámetros de consulta especificados tuvieron el efecto deseado. Por ejemplo, el parámetro @odata.count falta aunque la consulta sea exitosa.

    GET https://graph.microsoft.com/v1.0/users?$count=true
    
    HTTP/1.1 200 OK
    Content-type: application/json
    
    {
      "@odata.context":"https://graph.microsoft.com/v1.0/$metadata#users",
      "value":[
        {
          "displayName":"Oscar Ward",
          "mail":"oscarward@contoso.com",
          "userPrincipalName":"oscarward@contoso.com"
        }
      ]
    }