如何用PowerShell设置Azure应用客户端密钥的指定到期日
解决Azure应用客户端密钥到期日设置问题
要实现将新客户端密钥的EndDateTime设置为原密钥到期日一年后的次月第一天,需要先获取原密钥的到期日期,再对日期进行精准计算,以下是修改后的完整脚本:
步骤说明
- 获取原密钥到期日:查询目标Azure应用的现有客户端密钥,提取其到期时间
- 计算新到期日:对原到期日执行「加1年 → 进1个月 → 设为当月第一天」的操作
修改后的脚本
# 1. 获取目标应用的现有客户端密钥(这里取最新的密钥,可根据需求调整筛选逻辑) $existingSecret = Get-MgApplicationPassword -ApplicationId XYZ-XYZ-XYZ-XYZ | Sort-Object EndDateTime -Descending | Select-Object -First 1 # 2. 计算新密钥的到期日:原到期日+1年 → 次月第一天 $originalEndDate = $existingSecret.EndDateTime $newEndDate = $originalEndDate.AddYears(1).AddMonths(1).Date # .Date会自动设置为当月第一天的00:00:00 # 3. 创建密码凭据并生成新密钥 $pwCred=@{ "EndDateTime" = $newEndDate "displayName" = "Test Auto Cert2" } $Secret = Add-MgApplicationPassword -ApplicationId XYZ-XYZ-XYZ-XYZ -PasswordCredential $pwCred
逻辑验证
假设原密钥到期日为2022-08-15:
AddYears(1)→2023-08-15AddMonths(1)→2023-09-15.Date→2023-09-01(自动截断到当月第一天)
最终结果符合需求。
内容的提问来源于stack exchange,提问作者Chabango
相关产品推荐
相关产品推荐

