所以基本上我有一个脚本:
$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,不管怎么说?
答案 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)'