0

我正在尝试使用 Az cli 获取有关 Azure AD SPN 凭据到期日期的报告。

我可以使用 Az cli“az ad sp credential list”获取报告,但无法进行日期转换。


az ad sp credential list --id xxxxxx-xxx-xxx-xx  --query '[].{Key:customKeyIdentifier,expirydate:endDate}' -o table

output:

Expirydate                        Key
--------------------------------  ---------------
2299-12-30T23:00:00+00:00         Test
2020-01-10T13:13:12.647000+00:00  Qa
2299-12-30T16:00:00+00:00         Dev

有没有办法将到期日期输出转换为标准日期

即 2299-12-30T23:00:00+00:00 -> 30-12-2299

有什么建议吗?提前致谢。

4

1 回答 1

0

我无法找到使用azcli 本身的方法,但这是一个使用的解决方案jq

az ad sp credential list --id <sub-id> | jq -r \ '["Expiry Date", "Key"], ["-----------", "---"], (.[] | [(.endDate | (sub("\\.[0-9]+\\+"; "+") | strptime("%Y-%m-%dT%H:%M:%S%z") | mktime | strftime("%d-%m-%Y"))), .customKeyIdentifier // "-"]) | @tsv'

和扩展版本,看看发生了什么

az ad sp credential list --id <sub-id> | jq -r \
'
["Expiry Date", "Key"],
["-----------", "---"],
(.[] | [
  (
    .endDate | 
    (
      sub("\\.[0-9]+\\+"; "+") | 
      strptime("%Y-%m-%dT%H:%M:%S%z") | 
      mktime | 
      strftime("%d-%m-%Y")
    )
  ),
  .customKeyIdentifier // "-"
]) |
@tsv
'
于 2019-08-09T17:35:53.337 回答