如何通过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
相关产品推荐
相关产品推荐

