为此 API 选择标记为最低特权的权限。
只有在应用需要它时,才使用更高的特权权限。 有关委派权限和应用程序权限的详细信息,请参阅权限类型。 要了解有关这些权限的详细信息,请参阅 权限参考。
权限类型
最低特权权限
更高特权权限
委派(工作或学校帐户)
Synchronization.ReadWrite.All
不可用。
委派(个人 Microsoft 帐户)
不支持。
不支持。
应用程序
Application.ReadWrite.OwnedBy
Synchronization.ReadWrite.All
在具有工作或学校帐户的委派方案中,登录用户必须是组的所有者或成员,或者分配有受支持的 Microsoft Entra 角色 或具有支持的角色权限的自定义角色。 此操作支持以下最低特权角色。
应用程序管理员
云 应用程序管理员
混合标识管理员 - 配置 Microsoft Entra Cloud Sync
HTTP 请求
{servicePrincipalId} 指服务主体对象的 ID 。
id 在 Microsoft Entra 管理中心的应用注册中称为企业应用程序 的对象 ID 。
可以使用服务主体 ID 或 appId 来寻址服务主体。
id 和 appId 分别称为 “对象 ID ”和“ 应用程序 (客户端) ID”,在 Microsoft Entra 管理中心的应用注册中。
POST /servicePrincipals/{servicePrincipalId}/synchronization/jobs/{jobId}/restart
POST /servicePrincipals(appId='{appId}')/synchronization/jobs/{jobId}/restart
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.ServicePrincipals.Item.Synchronization.Jobs.Item.Restart;
using Microsoft.Graph.Models;
var requestBody = new RestartPostRequestBody
{
Criteria = new SynchronizationJobRestartCriteria
{
ResetScope = SynchronizationJobRestartScope.Watermark | SynchronizationJobRestartScope.Escrows | SynchronizationJobRestartScope.QuarantineState,
},
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
await graphClient.ServicePrincipals["{servicePrincipal-id}"].Synchronization.Jobs["{synchronizationJob-id}"].Restart.PostAsync(requestBody, (requestConfiguration) =>
{
requestConfiguration.Headers.Add("Authorization", "Bearer <token>");
});
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
com.microsoft.graph.serviceprincipals.item.synchronization.jobs.item.restart.RestartPostRequestBody restartPostRequestBody = new com.microsoft.graph.serviceprincipals.item.synchronization.jobs.item.restart.RestartPostRequestBody();
SynchronizationJobRestartCriteria criteria = new SynchronizationJobRestartCriteria();
criteria.setResetScope(EnumSet.of(SynchronizationJobRestartScope.Watermark, SynchronizationJobRestartScope.Escrows, SynchronizationJobRestartScope.QuarantineState));
restartPostRequestBody.setCriteria(criteria);
graphClient.servicePrincipals().byServicePrincipalId("{servicePrincipal-id}").synchronization().jobs().bySynchronizationJobId("{synchronizationJob-id}").restart().post(restartPostRequestBody, requestConfiguration -> {
requestConfiguration.headers.add("Authorization", "Bearer <token>");
});