You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Microsoft Graph .NET SDK调用指定appId的服务主体端点并一键禁用?

解决方案

1. 通过应用程序ID(AppId)检索服务主体

对应GET /servicePrincipals(appId='{appId}')端点,Microsoft Graph .NET SDK提供了WithAppId扩展方法直接定位目标服务主体,代码示例如下:

// 替换为实际的应用程序ID
string targetAppId = "你的应用程序ID";

// 检索服务主体对象
var servicePrincipal = await graphClient.ServicePrincipals
    .WithAppId(targetAppId)
    .GetAsync(cancellationToken);

2. 一次调用完成服务主体禁用操作

完全可以通过单次调用直接完成禁用,无需先检索对象ID再更新。直接在WithAppId定位的端点上调用PatchAsync方法即可:

string targetAppId = "你的应用程序ID";

await graphClient.ServicePrincipals
    .WithAppId(targetAppId)
    .PatchAsync(new ServicePrincipal
    {
        AccountEnabled = false
    }, cancellationToken: cancellationToken);

注意事项

  • 确保你的应用拥有足够权限(如Application.ReadWrite.All或Directory.ReadWrite.All)来修改服务主体。
  • 若目标AppId对应的服务主体不存在,调用会返回404错误,建议根据业务需求添加错误处理逻辑。

内容的提问来源于stack exchange,提问作者Shuzheng

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 23:09:54