0

我有一个可以正常工作的脚本,我唯一的问题是我无法根据需要订购输出。

我试图删除排序对象 CmdLet,但它没有改变任何东西,我也试图“玩”不同排序对象 CmdLet 的变化。

这是代码:

  $users = Import-Csv "C:\CSV Test\Alias_test.csv"

  foreach ($user in $users) {

  Get-MailboxStatistics -Identity $user.UserName |

   Select-Object @{l="User Name";e="DisplayName"},

   @{l="Mail Box Size";e="TotalItemSize"}, 

   @{l="TotalEmails?";e="itemcount"} |

   Sort-Object -Property ItemCount|

   Export-Csv "C:\CSV Test\Mailboxe_size.csv" -Append -NoTypeInformation

                             } #end of ForEach loop

csv 文件如下所示:

顺序错误

非常感谢你的帮助

4

1 回答 1

1

您当前的脚本有两个问题。

首先是每个用户的邮箱统计数据都是单独排序的,所以将Sort-Object语句移到循环之外。

第二个问题是,当您对对象进行排序时,该ItemCount属性不再存在,因为您已将其重命名为TotalEmails?,因此请确保更新Property参数:

$users = Import-Csv "C:\CSV Test\Alias_test.csv"

$stats = foreach ($user in $users) {
    Get-MailboxStatistics -Identity $user.UserName |
    Select-Object @{l="User Name";e="DisplayName"},
    @{l="Mail Box Size";e="TotalItemSize"}, 
    @{l="TotalEmails?";e="itemcount"} 
} #end of ForEach loop

$Stats |Sort-Object -Property TotalEmails? |Export-Csv "C:\CSV Test\Mailboxe_size.csv" -Append -NoTypeInformation
于 2018-12-08T15:25:43.293 回答