如何在PowerShell命令中转换LAPS过期时间为可读格式?
解决LAPS管理计算机过期时间的Epoch格式转换问题
你可以通过计算属性将ms-Mcs-AdmPwdExpirationTime的Epoch格式时间直接转换为人类可读格式,整合到管道中有两种常用方式:
方法一:先处理属性再格式化输出
Get-ADComputer -Filter 'ms-Mcs-AdmPwd -ne "$null"' -Properties SamAccountName, ms-Mcs-AdmPwd, ms-Mcs-AdmPwdExpirationTime | Select-Object SamAccountName, ms-Mcs-AdmPwd, @{ Name = 'ms-Mcs-AdmPwdExpirationTime' Expression = { if ($_.ms-Mcs-AdmPwdExpirationTime) { [datetime]::FromFileTimeUTC($_.ms-Mcs-AdmPwdExpirationTime) } } } | Format-List
方法二:直接在格式化步骤中转换
Get-ADComputer -Filter 'ms-Mcs-AdmPwd -ne "$null"' -Properties SamAccountName, ms-Mcs-AdmPwd, ms-Mcs-AdmPwdExpirationTime | Format-List SamAccountName, ms-Mcs-AdmPwd, @{ Name = 'ms-Mcs-AdmPwdExpirationTime' Expression = { if ($_.ms-Mcs-AdmPwdExpirationTime) { [datetime]::FromFileTimeUTC($_.ms-Mcs-AdmPwdExpirationTime) } } }
关键注意事项
- 避免使用
-Properties *,仅指定需要的属性能大幅提升命令执行效率。 - 加入空值判断是为了防止属性为空时出现转换报错。
- 若需要转换为本地时间,将
[datetime]::FromFileTimeUTC()替换为[datetime]::FromFileTime()即可。
内容的提问来源于stack exchange,提问作者Alex
相关产品推荐
相关产品推荐

