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

如何修改Active Directory(AD)密码过期日期的输出格式为DD/MM/YYYY hh:mm:ss

实现方案

PowerShell 中的 DateTime 类型对象支持直接调用 ToString() 方法传入自定义格式字符串,即可实现你需要的日期格式调整,格式说明如下:

  • dd:两位格式的日期
  • MM:两位格式的月份*(必须大写,小写 mm 对应分钟字段)*
  • yyyy:四位格式的年份
  • HH:24小时制的两位小时,hh 为12小时制的两位小时
  • mm:两位格式的分钟
  • ss:两位格式的秒数

代码修改示例

你可以直接修改原有代码中日期赋值的逻辑即可,同时推荐优化重复转换逻辑,避免重复执行FromFileTime操作,修改后代码片段如下:

if ($_."msDS-UserPasswordExpiryTimeComputed" -ne 9223372036854775807) {
    # 该场景为用户密码正常即将过期的标准情况
    $DateExpiry = $null
    $DaysToExpire = $null
    try {
        # 先转换得到原始DateTime对象,后续计算和格式化都复用该对象
        $rawExpiryTime = [datetime]::FromFileTime($_."msDS-UserPasswordExpiryTimeComputed")
        # 按DD/MM/YYYY 24小时制格式输出日期
        $DateExpiry = $rawExpiryTime.ToString("dd/MM/yyyy HH:mm:ss")
        # 直接使用原始DateTime对象计算剩余天数,无需二次转换
        $DaysToExpire = (New-TimeSpan -Start (Get-Date) -End $rawExpiryTime).Days
    } catch {
        $DateExpiry = $_."msDS-UserPasswordExpiryTimeComputed"
        $DaysToExpire = $null
    }
}

如果你需要使用12小时制的时间显示,只需要将格式字符串中的HH替换为hh即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 22:45:01