我正在使用以下命令尝试在Office 365中提取邮箱大小,然后我试图过滤结果以仅包含超过40GB的邮箱。
我相信这是因为以下转换了TotalItemSize'到一个字符串,然后我无法比较' 40'的[int]值。 GB然而我不足以改写下面的!! :(我已经尝试了很多迭代的Where-Object' TotalItemSize' -gt" 40"等等,但没有任何对我有用。
Get-Mailbox -ResultSize Unlimited | Get-MailboxStatistics | Select DisplayName, @{name=”TotalItemSize”;expression={[math]::Round((($_.TotalItemSize.Value.ToString()).Split(“(“)[1].Split(” “)[0].Replace(“,”,””)/1GB),2)}},ItemCount | Sort “TotalItemSize” -Descending
感谢您的帮助。
19/01/17仍然是一个问题 - 任何人都添加任何东西? 20/01/17仍然是个问题 - 任何人都可以添加任何东西吗? 23/01/17仍然无法解决! 25/01/17仍然没有决议 1/02帮助!!!!!!!
答案 0 :(得分:1)
您只需使用.ToGB()
属性的TotalItemSize.Value
方法,
所以这应该很容易:
Get-Mailbox -ResultSize Unlimited | Get-MailboxStatistics | ? {$_.TotalItemSize.Value.ToGB() -gt 40}
然后使用Select-Object
这些是所有可用选项(使用Get-Member
):
TypeName: Microsoft.Exchange.Data.ByteQ
Name MemberType Definition
---- ---------- ----------
ToBytes Method uint64 ToBytes()
ToGB Method uint64 ToGB()
ToKB Method uint64 ToKB()
ToMB Method uint64 ToMB()
ToString Method string ToString()
ToTB Method uint64 ToTB()
答案 1 :(得分:0)
我最终发现这很好用 -
Get-Mailbox -ResultSize Unlimited | Get-MailboxStatistics |选择DisplayName,@ {name =“TotalItemSize”; expression = {[math] :: Round((($ .TotalItemSize.Value.ToString())。Split(“(”)[1] .Split(“ “)[0] .Replace(”,“,”“)/ 1GB),2)}} |其中{$ .TotalItemSize -gt”45.0“} |排序TotalItemSize -Descending