2013-03-26 35 views
0

所以基本上我有一個腳本,其中:PowerShell的 - 更改爲MB,而不是GB

$MailboxArray = New-Object System.Object 

$MailboxArray | Add-Member -MemberType NoteProperty -value $mail.issuewarningquota -Name WarningQuota 

並在$郵件:

$mail = get-mailbox -id $_ 

現在,它在一個偉大工程,對於循環來獲取信息的Exchange中的每個郵箱,但我希望IssueWarningQuota輸出爲MB而不是GB

我對TotalItemSize到位的方法,其中:

TotalItemSize.value.ToMB() 

但這並不/不會爲IssueWarningQuota,迂迴方式工作?

+0

它爲什麼不起作用? – CharlesB 2013-03-26 21:49:19

+0

它產生一個錯誤,說我不能在表達式上調用它。 – PnP 2013-03-26 21:58:39

+1

它無法將無限制轉換爲MB – PnP 2013-03-26 22:04:16

回答

0
$MBXs = Get-Mailbox -Server Server01 -ResultSize unlimited | 
Where {$_.UseDatabaseQuotaDefaults -eq $false} 

&{ 
foreach ($MBX in $MBXs) 
{ 
    New-Object psobject -Property @{ 
    Displayname = $MBX.Displayname 
    'WarningQuota (MB)' = ($MBX.IssueWarningQuota).Value.ToMB() 
    'ProhibitSendQuota (MB)' = ($MBX.ProhibitSendQuota).Value.ToMB() 
    'TotalItemSize (MB)' = (Get-MailboxStatistics $MBX).TotalItemSize.Value.ToMB() 
    } 
    } 
} | Select Displayname,'WarningQuota (MB)','ProhibitSendQuota (MB)','TotalItemSize (MB)' 
1

我不知道thoes交換命令的語法,但如果TotoalItemSize是一個數字PowerShell真的很擅長計算MB和GB。

例子:

PS C:\> $number = 4294967296 
PS C:\> $number/1GB 
4 
PS C:\> $number/1MB 
4096 

所以只要是喜歡的Int32一些或雙你應該能夠做這樣的事情把它轉換爲MB。

相關問題