这是我用来获取Exchange 2007邮箱的当前邮箱限制,配额,StorageLimitStatus和TotalItemSize的脚本。
Get-MailboxDatabase |`
Get-Mailbox |`
Format-Table DisplayName,IssueWarningQuota,ProhibitSendQuota,`
@{label="TotalItemSize";expression={(get-mailboxstatistics $_).TotalItemSize.Value.ToMB()}},`
@{label="StorageLimitStatus";expression={(Get-MailboxStatistics $_).StorageLimitStatus}} |`
Sort-Object -Property ********
我想对两个关联数组中包含的值进行排序,例如首先按StorageLimitStatus排序,然后按TotalItemSize排序。
我对Powershell的有限理解使我无法构建正确的Sort-Object。有什么想法吗?
答案 0 :(得分:3)
Format-Table会在那里引起你的问题。它只返回字符串,因此Sort-Object无法找到您要查找的内容。使用Select-Object是一个更好的选择(您可以在最后通过格式表来获取表输出):
Get-MailboxDatabase |`
Get-Mailbox |`
Select-Object DisplayName,IssueWarningQuota,ProhibitSendQuota,`
@{label="TotalItemSize";expression={(get-mailboxstatistics $_).TotalItemSize.Value.ToMB()}},`
@{label="StorageLimitStatus";expression={(Get-MailboxStatistics $_).StorageLimitStatus}} |`
Sort-Object -Property StorageLimitStatus,TotalItemSize | Format-Table
关于排序,只需列出要排序的属性,如上例所示。
答案 1 :(得分:0)
每http://technet.microsoft.com/en-us/library/hh849912.aspx: 如果指定多个属性,则首先按第一个属性对对象进行排序。如果多个对象具有第一个属性的相同值,则这些对象按第二个属性排序。
所以你可以使用:
| Sort-Object -Property StorageLimitStatus,TotalItemSize