如何在Azure AD B2C中配置用户密码12个月过期?
配置Azure AD B2C用户密码12个月过期的解决方案
Azure AD B2C的用户流确实没有直接提供密码过期的可视化配置入口,你可以通过以下两种方式实现需求:
1. 自定义策略(批量生效,推荐)
通过修改自定义策略的扩展文件添加密码过期验证逻辑:
- 打开你的
TrustFrameworkExtensions.xml文件 - 在
<ClaimsProvider>节点下,找到本地账户登录对应的技术配置(如LocalAccountSigninEmailPassword),添加密码过期天数的元数据配置:
<TechnicalProfile Id="LocalAccountSigninEmailPassword"> <Metadata> <!-- 设置密码12个月后过期 --> <Item Key="DaysBeforePasswordExpired">365</Item> </Metadata> </TechnicalProfile>
- 保存并重新上传自定义策略到Azure AD B2C租户,用户下次登录时系统会自动检查密码是否过期,过期则强制重置。
2. PowerShell命令(单个/批量用户)
通过Azure AD PowerShell模块针对特定用户设置密码过期时间:
- 安装并连接到Azure AD B2C租户:
Install-Module -Name AzureAD Connect-AzureAD -TenantId "你的B2C租户ID"
- 针对单个用户设置密码12个月后过期:
$userId = "user@your-b2c-domain.com" $expireDate = (Get-Date).AddDays(365) $passwordProfile = New-Object Microsoft.Open.AzureAD.Model.PasswordProfile $passwordProfile.Password = "临时密码" # 替换为用户当前密码或新密码 $passwordProfile.ExpirationDateTime = $expireDate $passwordProfile.ForceChangePasswordNextLogin = $false Set-AzureADUser -ObjectId $userId -PasswordProfile $passwordProfile
若需批量处理,可通过Get-AzureADUser获取用户列表后循环执行上述设置。
内容的提问来源于stack exchange,提问作者Tessy
相关产品推荐
相关产品推荐

