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

如何通过Microsoft Graph API或C# SDK设置租户密码过期策略

如何通过Microsoft Graph API或C# SDK设置租户密码过期策略

核心结论

完全可以通过Microsoft Graph API或C# SDK实现该需求,底层逻辑和你使用PowerShell的Update-MgDomain一致,都是更新租户域名的passwordValidityPeriod属性。

使用Microsoft Graph API实现

请求端点与方式

采用PATCH请求,端点为:
https://graph.microsoft.com/v1.0/domains/{domain-id}

请求体示例

将密码有效期设为180天:

{
  "passwordValidityPeriod": 180
}

所需权限

需具备以下权限之一(应用权限或委派权限均可):

  • Domain.ReadWrite.All
  • Directory.ReadWrite.All

使用C# SDK实现

先安装Microsoft Graph SDK包:

Install-Package Microsoft.Graph

代码示例

using Microsoft.Graph;
using Azure.Identity;

// 配置认证参数
var scopes = new[] { "Domain.ReadWrite.All" };
var tenantId = "你的租户ID";
var clientId = "你的应用客户端ID";
var clientSecret = "你的应用客户端密钥";

// 初始化Graph客户端
var credential = new ClientSecretCredential(tenantId, clientId, clientSecret);
var graphClient = new GraphServiceClient(credential, scopes);

// 指定要更新的租户域名(如主域名contoso.com)
var domainId = "contoso.com";

// 构建更新对象
var domainUpdate = new Domain
{
    PasswordValidityPeriod = 180
};

// 发送更新请求
await graphClient.Domains[domainId].PatchAsync(domainUpdate);

关键注意事项

  • 2021年后创建的租户默认无密码过期限制,此时passwordValidityPeriod属性值为null,设置具体数值后将启用过期策略。
  • 可通过GET https://graph.microsoft.com/v1.0/domains/{domain-id}请求查看当前配置,对应PowerShell的Get-MgDomain操作。
  • 该设置对域名下所有用户生效,若需针对特定用户设置例外,需单独配置密码过期例外策略。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 10:44:53