Enumeración de pertenencias transitivas de dispositivos
Artículo
Espacio de nombres: microsoft.graph
Obtenga los grupos y unidades administrativas de los que es miembro el dispositivo. Esta solicitud de API es transitiva y también devolverá todos los grupos y unidades administrativas de los que el dispositivo es miembro anidado.
Elija el permiso o los permisos marcados como con privilegios mínimos para esta API. Use un permiso o permisos con privilegios superiores solo si la aplicación lo requiere. Para obtener más información sobre los permisos delegados y de aplicación, consulte Tipos de permisos. Para obtener más información sobre estos permisos, consulte la referencia de permisos.
Cuando una aplicación consulta una relación que devuelve una colección de tipos directoryObject , si no tiene permiso para leer un tipo de recurso determinado, se devuelven miembros de ese tipo pero con información limitada. Por ejemplo, solo se devuelve la propiedad @odata.type para el tipo de objeto y el identificador , mientras que otras propiedades se indican como null. Con este comportamiento, las aplicaciones pueden solicitar los permisos con privilegios mínimos que necesitan, en lugar de depender del conjunto de directorios.*Permisos. Para información, consulte Información limitada devuelta para objetos de miembros inaccesibles.
Importante
En escenarios delegados con cuentas profesionales o educativas, al usuario que ha iniciado sesión se le debe asignar un rol de Microsoft Entra compatible o un rol personalizado con un permiso de rol admitido. Se admiten los siguientes roles con privilegios mínimos para esta operación.
Lectores de directorio
Lector global
Administrador de Intune
Administrador de Windows 365
Solicitud HTTP
Puede dirigirse al dispositivo mediante su id . o deviceId.
GET /devices/{id | userPrincipalName}/transitiveMemberOf
GET /devices(deviceId='{deviceId}')/transitiveMemberOf
Parámetros de consulta opcionales
Este método es compatible con los parámetros de consulta de OData para ayudar a personalizar la respuesta, incluyendo $select, $search, y $count. La conversión de OData también está habilitada. Por ejemplo, puede realizar la conversión para obtener solo los roles de directorio de los que el usuario es miembro. Puede usar $search en las propiedades displayName y Description. Los tamaños de página predeterminado y máximo son 100 y 999 objetos, respectivamente.
eventual. Este encabezado y $count son requeridos al usar los parámetros de consulta $search, $filter, $orderby u OData. Usa un índice que podría no estar actualizado con los cambios recientes realizados en el objeto.
Cuerpo de la solicitud
No proporcione un cuerpo de solicitud para este método.
Respuesta
Si se ejecuta correctamente, este método devuelve un código de respuesta 200 OK y la colección de objetos directoryObject en el cuerpo de la respuesta.
Ejemplos
Ejemplo 1: Obtención de grupos de los que el dispositivo es un miembro transitivo
GET https://graph.microsoft.com/v1.0/devices/{id}/transitiveMemberOf
// Code snippets are only available for the latest version. Current version is 5.x
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Devices["{device-id}"].TransitiveMemberOf.GetAsync();
// Code snippets are only available for the latest major version. Current major version is $v1.*
// Dependencies
import (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-sdk-go"
//other-imports
)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
transitiveMemberOf, err := graphClient.Devices().ByDeviceId("device-id").TransitiveMemberOf().Get(context.Background(), nil)
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
DirectoryObjectCollectionResponse result = graphClient.devices().byDeviceId("{device-id}").transitiveMemberOf().get();
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph import GraphServiceClient
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
result = await graph_client.devices.by_device_id('device-id').transitive_member_of.get()
Nota: Se puede acortar el objeto de respuesta que se muestra aquí para mejorar la legibilidad.
HTTP/1.1 200 OK
Content-type: application/json
{
"value": [
{
"@odata.type": "#microsoft.graph.group",
"id": "id-value",
"createdDateTime": null,
"description": "All users at the company",
"displayName": "All Users",
"groupTypes": [],
"mailEnabled": false,
"securityEnabled": true,
}
]
}
Ejemplo 2: Obtener solo un recuento de toda la pertenencia transitiva
Solicitud
En el ejemplo siguiente se muestra la solicitud.
GET https://graph.microsoft.com/v1.0/devices/{id}/transitiveMemberOf/$count
ConsistencyLevel: eventual
Respuesta
En el ejemplo siguiente se muestra la respuesta.
HTTP/1.1 200 OK
Content-type: text/plain
294
Ejemplo 3: Use la conversión de OData y $search para obtener la pertenencia a grupos con nombres para mostrar que contengan las letras "Video", incluido un recuento de objetos devueltos.
Solicitud
En el ejemplo siguiente se muestra la solicitud.
GET https://graph.microsoft.com/v1.0/devices/{id}/transitiveMemberOf/microsoft.graph.group?$count=true&$orderby=displayName&$search="displayName:Video"&$select=displayName,id
ConsistencyLevel: eventual
Respuesta
En el ejemplo siguiente se muestra la respuesta.
Nota: Se puede acortar el objeto de respuesta que se muestra aquí para mejorar la legibilidad.
Ejemplo 4: Use la conversión de OData y $filter para obtener la pertenencia con un nombre para mostrar que comience por "A", incluido un recuento de objetos devueltos.
GET https://graph.microsoft.com/v1.0/devices/{id}/transitiveMemberOf/microsoft.graph.group?$count=true&$orderby=displayName&$filter=startswith(displayName, 'a')
ConsistencyLevel: eventual
// Code snippets are only available for the latest version. Current version is 5.x
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Devices["{device-id}"].TransitiveMemberOf.GraphGroup.GetAsync((requestConfiguration) =>
{
requestConfiguration.QueryParameters.Count = true;
requestConfiguration.QueryParameters.Orderby = new string []{ "displayName" };
requestConfiguration.QueryParameters.Filter = "startswith(displayName, 'a')";
requestConfiguration.Headers.Add("ConsistencyLevel", "eventual");
});
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
GroupCollectionResponse result = graphClient.devices().byDeviceId("{device-id}").transitiveMemberOf().graphGroup().get(requestConfiguration -> {
requestConfiguration.queryParameters.count = true;
requestConfiguration.queryParameters.orderby = new String []{"displayName"};
requestConfiguration.queryParameters.filter = "startswith(displayName, 'a')";
requestConfiguration.headers.add("ConsistencyLevel", "eventual");
});
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph import GraphServiceClient
from msgraph.generated.devices.item.transitive_member_of.graph.group.group_request_builder import GroupRequestBuilder
from kiota_abstractions.base_request_configuration import RequestConfiguration
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
query_params = GroupRequestBuilder.GroupRequestBuilderGetQueryParameters(
count = True,
orderby = ["displayName"],
filter = "startswith(displayName, 'a')",
)
request_configuration = RequestConfiguration(
query_parameters = query_params,
)
request_configuration.headers.add("ConsistencyLevel", "eventual")
result = await graph_client.devices.by_device_id('device-id').transitive_member_of.graph_group.get(request_configuration = request_configuration)