以下命令会将正确的信息输出到屏幕,但是当导出到csv文件时,它看起来与屏幕上显示的内容完全不同。我已经能够使用其他cmdlet导出,Get-DistributionGroup在使用export.csv时似乎会破坏数据。
Outputting to screen works great!
Get-DistributionGroup | Where {$_.emailaddresses -like "*@adomain.com*"} | FT Name,Alias,EmailAddresses
Exporting to csv doesnt work correctly
Get-DistributionGroup | Where {$_.emailaddresses -like "*@adomain.com*"} | FT Name,Alias,EmailAddresses | Export-csv C:/thisis.csv
答案 0 :(得分:1)
而不是Format-Table
(别名:ft
),您应该使用Select-Object
。 Export-Csv
期望对象作为输入,而不是格式化指令。
Format-Table
会将对象转换为在输出中看起来很好的东西,但它是单向行程:作为过程的一部分,您将原始对象放松。
Select-Object
可以创建具有属性子集的对象,因此像Export-Csv
这样的cmdlet仍然可以使用来自原始源的数据。
修改强>
我最初错过了:您尝试导出属于集合的属性(EmailAddresses)。除非你“扁平化”,否则它不会起作用。收集第一:
Get-DistributionGroup | Where {$_.emailaddresses -like "*@adomain.com*"} | select Name,Alias, @{
Name = 'EmailAddresses'
Expression = { $_.EmailAddresses -join '|' }
}
答案 1 :(得分:0)
谢谢你的答案已经解决。
BartekB的回答
Get-DistributionGroup |哪里{$ .emailaddresses -like" * @ adomain.com *"} |选择名称,别名,@ { 姓名='电子邮件地址' 表达式= {$ .EmailAddresses -join' |' } }