我试图从我们的Office 365中获取某些信息,但未获取所需的所有信息。
下面是我使用的脚本:
Get-MsolUser -All | select DisplayName, LastPasswordChangeTimeStamp, LastLogonTime, PrimaryEmailAddress | Export-CSV UserList.csv -NoTypeInformation
我从上述脚本中获得的信息只是显示名称的最后一次密码更改。对于LastLogonTime
和PrimaryEmailAddress
我什么也没得到。
我在做错什么吗?
请帮助。
谢谢
答案 0 :(得分:3)
可以从Get-MailboxStatistics中检索上次登录时间,但仅显示上次访问的Exchange邮箱。它不会跟踪其他Office 365服务。您可以根据需要尝试以下代码。
$Result=""
$Output=@()
Get-mailbox -All | foreach{
$UPN=$_.UserPrincipalName
$DisplayName=$_.DisplayName
$PrimaryEmailAddress=$_.ProxyAddresses.where{$_ -clike "SMTP:*"} -creplace "SMTP:"
$LastPwdChange=$_.LastPasswordChangeTimeStamp
$LastLogonTime=(Get-MailboxStatistics -Identity $upn).lastlogontime
$Result= @{'DisplayNme'=$DisplayName;'LastLogonTime'=$LastLogonTime;'PrimaryEmailAddress'=$PrimaryEmailAddress;'LastPwdChange'=$LastPwdChange}
$Output= New-Object PSObject -Property $Result
$Output | Select-Object DisplayName,LastLogonTime,PrimaryEmailAddress,LastPwdChange | Export-CSV UserList.csv -Notype -Append
}