Powershell脚本无法从Office 365(MsolService)获取所需的所有信息

时间:2019-05-17 11:24:37

标签: powershell office365

我试图从我们的Office 365中获取某些信息,但未获取所需的所有信息。

下面是我使用的脚本:

Get-MsolUser -All | select DisplayName, LastPasswordChangeTimeStamp, LastLogonTime, PrimaryEmailAddress | Export-CSV UserList.csv -NoTypeInformation

我从上述脚本中获得的信息只是显示名称的最后一次密码更改。对于LastLogonTimePrimaryEmailAddress我什么也没得到。

我在做错什么吗?

请帮助。

谢谢

1 个答案:

答案 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
}

脚本源:Export Office 365 Users last logon time to CSV