从 Exchange 日志中获取上次登录和电子邮件地址

从 Exchange 日志中获取上次登录和电子邮件地址

我在下面创建了一个 PS 脚本,该脚本在我们的联合域中搜索特定域,并输出最后一次登录

Get-Mailbox -RecipientTypeDetails UserMailbox -Resultsize Unlimited |
    where {$_.emailAddresses -like "*@example.co.uk" } |
    Get-MailboxStatistics |
    Select-Object DisplayName,PrimarySmtpAddress,LastLogonTime |
    Export-CSV "C:\temp\O365-LastLogon-Info.csv" -NoTypeInformation -Encoding UTF8

到目前为止,它只提取显示名称和上次登录信息,并且由于某种原因,它没有提取电子邮件地址。

答案1

下面的 PowerShell 会按照您的意愿将预期结果输出到 csv 文件中。仅将命令PrimarySmtpAddress的属性值输出Get-Mailbox通过管道传输到ForEach-Object循环。

使用变量PrimarySmtpAddress在循环中保存值,然后使用计算属性引用该值来命名列并使用命令的输出在表达式中设置值Select-Object

电源外壳

(Get-Mailbox -RecipientTypeDetails UserMailbox -Resultsize Unlimited | 
    ? { $_.emailAddresses -like "*@uspotus.us" }).PrimarySmtpAddress | % {
        $p = "";
        $p = $_;
        $_ | Get-MailboxStatistics | Select DisplayName, @{N='PrimarySmtpAddress'; E={$p}}, LastLogonTime;
        } | Export-CSV "C:\temp\O365-LastLogon-Info.csv" -NoTypeInformation -Encoding UTF8;

输出示例

DisplayName   PrimarySmtpAddress LastLogonTime        
-----------   ------------------ -------------        
Barrack Obama [email protected]  11/4/2021 11:18:11 PM

支持资源

相关内容