用于检查 Azure AD 用户密码年龄的 Powershell 脚本

问题描述 投票:0回答:0

我正在尝试通过创建脚本来简化我的 AAD 管理任务。但是,我遇到了麻烦...

  1. 查询中的“最后登录部分”不返回值,但它自己工作
  2. 祖鲁时间上次登录的转换以与其他日期时间输出格式对齐
# Work on this after I can get "last logon" value
$timestamp = '2017-08-03T12:30:00.000Z'
$datetime  = ([DateTime]$timestamp).ToUniversalTime()

有人可以提供一些关于如何正确执行此操作的指导吗?

代码如下:

Get-MsolUser -MaxResults 3 | 
Select-Object DisplayName, 
@{n="UPN";e={$_.UserPrincipalName}},
@{n="Enabled";e={(Get-AzureADUser -ObjectId $_.ObjectId).accountEnabled}},
@{n="PwLastSet";e={($_.LastPasswordChangeTimeStamp)}},
@{n="PwAge";e={(New-TimeSpan -Start ($_.LastPasswordChangeTimestamp) -End (Get-Date) ).Days}},
@{n="Manager";e={(Get-AzureADUserManager -ObjectId $_.ObjectId).UserPrincipalName}},  
@{n="Last Login";e={((Get-AzureADAuditSignInLogs -Filter "UserPrincipalName eq '$($_.UserPrincipalName)'" -Top 1).CreatedDateTime)}}| 
Sort-Object PwAge -descending

谢谢!

powershell azure-active-directory
© www.soinside.com 2019 - 2024. All rights reserved.