Powershell - 更改为MB而不是GB

时间:2013-03-26 20:47:04

标签: powershell exchange-server-2010

所以基本上我有一个脚本:

$MailboxArray = New-Object System.Object

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

和$ mail:

$mail = get-mailbox -id $_

现在它在For循环中很有效,可以获取Exchange中每个邮箱的信息,但我希望IssueWarningQuota输出位于MB而不是GB

我有一个适用于TotalItemSize的方法,其中:

TotalItemSize.value.ToMB()

但是这不会/不适用于IssueWarningQuota,不管怎么说?

2 个答案:

答案 0 :(得分:1)

我不知道thoes exchange命令的语法,但如果TotoalItemSize是一个数字,PowerShell真的很擅长计算MB和GB。

示例:

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

因此,只要它是一个像Int32或Double的数字,你就应该可以做到这样的事情来转换为MB。

答案 1 :(得分: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)'