我正在自动化Office365邮箱。我在PowerShell中运行以下命令
Get-Mailbox -Filter {Name -like "T1-*"} | Get-MailboxStatistics |
select Displayname, LastLogonTime | Export-Csv "lastlogon-all.csv"
启动会话后,该命令有效。 Get-Mailbox结果还具有PrimarySmtpAddress字段。我想把它包括在输出中,但由于管道,它会丢失。
如何在输出中获取该字段?
答案 0 :(得分:2)
Get-Mailbox -Filter {Name -like "T1-*"} |
foreach {
$address = $_.PrimarySmtpAddress;
$_ | Get-MailboxStatistics |
select Displayname, LastLogonTime, @{ Name = "PrimarySmtpAddress"; Expression = { $address } }
} |
Export-Csv "lastlogon-all.csv"
也可以通过statistics-object访问mailbox-object,但文档中没有提到相应命令返回的对象。
答案 1 :(得分:1)
感谢Markus Jarderot我得到了解决方案:
$boxes = Get-Mailbox -Filter {Name -like "T1-*"}
$boxes | foreach {
$address = $_.PrimarySmtpAddress;
$_ | Get-MailboxStatistics |
select Displayname, LastLogonTime, @{ Name = "PrimarySmtpAddress"; Expression = { $address } }
} |
Export-Csv "lastlogon-all.csv"
地址可能不需要格式化,所以你可以选择$ address