我有一个可以正常工作的脚本,我唯一的问题是我无法按需订购输出。
我尝试删除了排序对象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文件如下所示:
非常感谢您的帮助
答案 0 :(得分: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