交换2007 for loop - csv

时间:2017-10-04 10:12:07

标签: powershell

我有一个大约200个用户的列表。我想要CSV中每个用户的显示名称,总项目大小和上次登录属性,但我无法弄清楚如何将信息附加到CSV文件。

现在我知道我需要使用format-csv将其转换为csv文件,但是在Server 2008和Exchange 2007中没有附加选项。

我认为我需要创建某种数组并将每个foreach循环的输出添加到变量中,然后在循环的所有迭代完成后导出到CSV。

这是我陷入困境的地方,我真的不确定这是正确的做法还是从哪里开始。

$users = get-content -path C:\x\x\x
foreach ($user in $users) {
   get-mailbox $user | get-mailboxstatistics |
   select displayname,lastlogontime,`
   @{n="Total Size (MB)";e={$_.totalitemsize.value.ToMB()}}
}

1 个答案:

答案 0 :(得分:0)

您可以使用+=将数据添加到数组,然后将该数组导出为CSV:

$users = get-content -path C:\folder\users.txt
$information = @()

foreach ($user in $users) {
   $information += get-mailbox $user | get-mailboxstatistics | select displayname,lastlogontime,@{n="Total Size (MB)";e={$_.totalitemsize.value.ToMB()}}
}
$information | Export-CSV C:\folder\mailbox_info.csv -NoTypeInformation