Espace de noms: microsoft.graph
Importante
Les API sous la version /beta dans Microsoft Graph sont susceptibles d’être modifiées. L’utilisation de ces API dans des applications de production n’est pas prise en charge. Pour déterminer si une API est disponible dans v1.0, utilisez le sélecteur Version .
Évaluez si un utilisateur ou un appareil est ou serait membre d’un groupe dynamique. La règle d’appartenance est renvoyée avec d’autres détails qui ont été utilisés dans l’évaluation. Vous pouvez effectuer cette opération des manières suivantes :
- Évaluez si un utilisateur ou un appareil est membre d’un groupe dynamique spécifié.
- Évaluez si un utilisateur ou un appareil serait membre d’un groupe dynamique en fonction de l’ID de l’utilisateur ou de l’appareil et d’une règle d’appartenance.
Cette API est disponible dans les déploiements cloud nationaux suivants.
| Service global |
Gouvernement américain L4 |
Gouvernement américain L5 (DOD) |
Chine exploitée par 21Vianet |
| ✅ |
✅ |
✅ |
✅ |
Autorisations
Le tableau suivant indique la ou les autorisations les moins privilégiées requises pour appeler cette API sur chaque type de ressource pris en charge. Suivez les bonnes pratiques pour demander les autorisations les moins privilégiées. Pour plus d’informations sur les autorisations déléguées et d’application, voir Types d’autorisations. Pour en savoir plus sur ces autorisations, consultez la référence des autorisations.
Évaluer l’appartenance dynamique avec l’ID de membre et l’ID de groupe
| Ressource prise en charge |
Déléguée (compte professionnel ou scolaire) |
Déléguée (compte Microsoft personnel) |
Application |
|
appareil |
Group.Read.All et Device.Read.All |
Non prise en charge. |
Non prise en charge. |
|
utilisateur |
Group.Read.All et User.Read.All |
Non prise en charge. |
Non prise en charge. |
Évaluer l’appartenance dynamique avec l’ID de membre et la règle d’appartenance
| Ressource prise en charge |
Déléguée (compte professionnel ou scolaire) |
Déléguée (compte Microsoft personnel) |
Application |
|
appareil |
Device.Read.All |
Non prise en charge. |
Non prise en charge. |
|
utilisateur |
User.Read.All |
Non prise en charge. |
Non prise en charge. |
Requête HTTP
POST /groups/{id}/evaluateDynamicMembership
POST /groups/evaluateDynamicMembership
Corps de la demande
Dans le corps de la demande, indiquez les propriétés requises.
Le tableau suivant répertorie les propriétés qui sont requises lorsque vous évaluez l’appartenance à un groupe.
| Paramètre |
Type |
Description |
| memberId |
String collection |
memberId est l’ID d’objet de l’utilisateur ou de l’appareil à évaluer. |
| membershipRule |
String collection |
Règle utilisée pour l’évaluation des membres. Si cette propriété n’est pas fournie, la règle pour le groupe existant est évaluée. Si cette propriété est fournie, l’utilisateur ou l’appareil est évalué pour une éventuelle appartenance à un groupe avec la même règle. Pour plus d’informations, consultez Règles d’appartenance dynamiques pour les groupes dans Microsoft Entra ID. |
Réponse
En cas de réussite, cette méthode renvoie un 200 OK code de réponse et un objet evaluateDynamicMembershipResult.
Exemples
Exemple 1 : évaluer si un utilisateur ou un appareil est membre d’un groupe existant
Demande
L’exemple suivant illustre une demande.
POST https://graph.microsoft.com/beta/groups/{id}/evaluateDynamicMembership
Content-type: application/json
{
"memberId": "319b41e8-d9e4-42f8-bdc9-741113f48b33"
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Beta.Groups.Item.EvaluateDynamicMembership;
var requestBody = new EvaluateDynamicMembershipPostRequestBody
{
MemberId = "319b41e8-d9e4-42f8-bdc9-741113f48b33",
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Groups["{group-id}"].EvaluateDynamicMembership.PostAsync(requestBody);
// Code snippets are only available for the latest major version. Current major version is $v0.*
// Dependencies
import (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-beta-sdk-go"
graphgroups "github.com/microsoftgraph/msgraph-beta-sdk-go/groups"
//other-imports
)
requestBody := graphgroups.NewEvaluateDynamicMembershipPostRequestBody()
memberId := "319b41e8-d9e4-42f8-bdc9-741113f48b33"
requestBody.SetMemberId(&memberId)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
evaluateDynamicMembership, err := graphClient.Groups().ByGroupId("group-id").EvaluateDynamicMembership().Post(context.Background(), requestBody, nil)
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
com.microsoft.graph.beta.groups.item.evaluatedynamicmembership.EvaluateDynamicMembershipPostRequestBody evaluateDynamicMembershipPostRequestBody = new com.microsoft.graph.beta.groups.item.evaluatedynamicmembership.EvaluateDynamicMembershipPostRequestBody();
evaluateDynamicMembershipPostRequestBody.setMemberId("319b41e8-d9e4-42f8-bdc9-741113f48b33");
var result = graphClient.groups().byGroupId("{group-id}").evaluateDynamicMembership().post(evaluateDynamicMembershipPostRequestBody);
const options = {
authProvider,
};
const client = Client.init(options);
const evaluateDynamicMembershipResult = {
memberId: '319b41e8-d9e4-42f8-bdc9-741113f48b33'
};
await client.api('/groups/{id}/evaluateDynamicMembership')
.version('beta')
.post(evaluateDynamicMembershipResult);
<?php
use Microsoft\Graph\Beta\GraphServiceClient;
use Microsoft\Graph\Beta\Generated\Groups\Item\EvaluateDynamicMembership\EvaluateDynamicMembershipPostRequestBody;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new EvaluateDynamicMembershipPostRequestBody();
$requestBody->setMemberId('319b41e8-d9e4-42f8-bdc9-741113f48b33');
$result = $graphServiceClient->groups()->byGroupId('group-id')->evaluateDynamicMembership()->post($requestBody)->wait();
Import-Module Microsoft.Graph.Beta.Groups
$params = @{
memberId = "319b41e8-d9e4-42f8-bdc9-741113f48b33"
}
Test-MgBetaGroupDynamicMembership -GroupId $groupId -BodyParameter $params
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph_beta import GraphServiceClient
from msgraph_beta.generated.groups.item.evaluate_dynamic_membership.evaluate_dynamic_membership_post_request_body import EvaluateDynamicMembershipPostRequestBody
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = EvaluateDynamicMembershipPostRequestBody(
member_id = "319b41e8-d9e4-42f8-bdc9-741113f48b33",
)
result = await graph_client.groups.by_group_id('group-id').evaluate_dynamic_membership.post(request_body)
Réponse
L’exemple suivant illustre la réponse.
HTTP/1.1 200 OK
Content-type: application/json
{
"membershipRule": "(user.displayName -startsWith \"EndTestUser\")",
"membershipRuleEvaluationResult": true,
"membershipRuleEvaluationDetails": {
"expressionResult": true,
"expression": "user.displayName -startsWith \"EndTestUser\"",
"propertyToEvaluate": {
"propertyName": "displayName",
"propertyValue": "EndTestUser001"
}
}
}
Exemple 2 : évaluer si un utilisateur ou un appareil serait membre d’un groupe en fonction d’une règle d’appartenance
Demande
L’exemple suivant illustre une demande.
POST https://graph.microsoft.com/beta/groups/evaluateDynamicMembership
Content-type: application/json
{
"memberId": "319b41e8-d9e4-42f8-bdc9-741113f48b33",
"membershipRule": "(user.displayName -startsWith \"EndTestUser\")"
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Beta.Groups.EvaluateDynamicMembership;
var requestBody = new EvaluateDynamicMembershipPostRequestBody
{
MemberId = "319b41e8-d9e4-42f8-bdc9-741113f48b33",
MembershipRule = "(user.displayName -startsWith \"EndTestUser\")",
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Groups.EvaluateDynamicMembership.PostAsync(requestBody);
// Code snippets are only available for the latest major version. Current major version is $v0.*
// Dependencies
import (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-beta-sdk-go"
graphgroups "github.com/microsoftgraph/msgraph-beta-sdk-go/groups"
//other-imports
)
requestBody := graphgroups.NewEvaluateDynamicMembershipPostRequestBody()
memberId := "319b41e8-d9e4-42f8-bdc9-741113f48b33"
requestBody.SetMemberId(&memberId)
membershipRule := "(user.displayName -startsWith \"EndTestUser\")"
requestBody.SetMembershipRule(&membershipRule)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
evaluateDynamicMembership, err := graphClient.Groups().EvaluateDynamicMembership().Post(context.Background(), requestBody, nil)
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
com.microsoft.graph.beta.groups.evaluatedynamicmembership.EvaluateDynamicMembershipPostRequestBody evaluateDynamicMembershipPostRequestBody = new com.microsoft.graph.beta.groups.evaluatedynamicmembership.EvaluateDynamicMembershipPostRequestBody();
evaluateDynamicMembershipPostRequestBody.setMemberId("319b41e8-d9e4-42f8-bdc9-741113f48b33");
evaluateDynamicMembershipPostRequestBody.setMembershipRule("(user.displayName -startsWith \"EndTestUser\")");
var result = graphClient.groups().evaluateDynamicMembership().post(evaluateDynamicMembershipPostRequestBody);
const options = {
authProvider,
};
const client = Client.init(options);
const evaluateDynamicMembershipResult = {
memberId: '319b41e8-d9e4-42f8-bdc9-741113f48b33',
membershipRule: '(user.displayName -startsWith \"EndTestUser\")'
};
await client.api('/groups/evaluateDynamicMembership')
.version('beta')
.post(evaluateDynamicMembershipResult);
<?php
use Microsoft\Graph\Beta\GraphServiceClient;
use Microsoft\Graph\Beta\Generated\Groups\EvaluateDynamicMembership\EvaluateDynamicMembershipPostRequestBody;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new EvaluateDynamicMembershipPostRequestBody();
$requestBody->setMemberId('319b41e8-d9e4-42f8-bdc9-741113f48b33');
$requestBody->setMembershipRule('(user.displayName -startsWith \"EndTestUser\")');
$result = $graphServiceClient->groups()->evaluateDynamicMembership()->post($requestBody)->wait();
Import-Module Microsoft.Graph.Beta.Groups
$params = @{
memberId = "319b41e8-d9e4-42f8-bdc9-741113f48b33"
membershipRule = "(user.displayName -startsWith "EndTestUser")"
}
Test-MgBetaGroupDynamicMembershipRule -BodyParameter $params
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph_beta import GraphServiceClient
from msgraph_beta.generated.groups.evaluate_dynamic_membership.evaluate_dynamic_membership_post_request_body import EvaluateDynamicMembershipPostRequestBody
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = EvaluateDynamicMembershipPostRequestBody(
member_id = "319b41e8-d9e4-42f8-bdc9-741113f48b33",
membership_rule = "(user.displayName -startsWith \"EndTestUser\")",
)
result = await graph_client.groups.evaluate_dynamic_membership.post(request_body)
Réponse
L’exemple suivant illustre la réponse.
HTTP/1.1 200 OK
Content-type: application/json
{
"membershipRule": "(user.displayName -startsWith \"EndTestUser\")",
"membershipRuleEvaluationResult": true,
"membershipRuleEvaluationDetails": {
"expressionResult": true,
"expression": "user.displayName -startsWith \"EndTestUser\"",
"propertyToEvaluate": {
"propertyName": "displayName",
"propertyValue": "EndTestUser001"
}
}
}