当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 在 Exchange 2013 中导出电子邮件地址

作者:精品下载站 日期:2024-12-14 06:54:28 浏览:14 分类:玩电脑

在 Exchange 2013 中导出电子邮件地址


对于一个项目,我必须创建一个包含所有邮箱、它们的 UPN 和电子邮件地址的 CSV 文件。没什么大不了的,因为您可以使用以下命令:

Get-Mailbox | Select UserPrincipalName,EmailAddresses

[玩转系统] 在 Exchange 2013 中导出电子邮件地址

使用 Export-Csv 命令导出到 CSV 是 PowerShell 中的默认功能,如下所示:

Get-Mailbox | Select UserPrincipalName,EmailAddresses | Export-Csv C:\Temp\Addresses.csv

不幸的是,这并没有给出预期的结果。由于 EmailAddresses 属性是一个多值属性,因此仅导出定义而不导出值,它将显示如下:

#TYPE 已选择.Microsoft.Exchange.Data.Directory.Management.Mailbox
“UserPrincipalName”,“电子邮件地址”
[email protected]”,“Microsoft.Exchange.Data.ProxyAddressCollection”

[玩转系统] 在 Exchange 2013 中导出电子邮件地址

这可以通过创建自定义字段并获取属性的所有值并用“,”字符连接来解决,如下所示:

Get-Mailbox | Select UserPrincipalName, @{Name='EmailAddresses'; Expression={$_.EmailAddresses -join ","}}

[玩转系统] 在 Exchange 2013 中导出电子邮件地址

将此与 Export-Csv 命令结合使用:

Get-Mailbox | Select UserPrincipalName, @{Name='EmailAddresses'; Expression={$_.EmailAddresses -join ","}} | Export-Csv C:\Temp\Addresses.csv

这将生成一个正确的 CSV 文件:

[玩转系统] 在 Exchange 2013 中导出电子邮件地址

特别感谢 Michel de Rooij,我的 PowerShell 存储库。

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯