2013-03-26 96 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。

相关问题