You are here

Скрипт PowerShell для просмотра реального размера баз Exchange


Скрипт PowerShell для просмотра реального размера баз Exchange

Как вам должно быть известно, размер Mailbox Database в Exchange – не равен размеру файла EDB, который он занимает на диске. Это связано с фрагментацией, и прочими процессами, но речь не о том. Возник вопрос, сколько же реально полезной информации находится в базах, и если запускать её дефрагментацию, то сколько места освободится на диске. Как итог, был написан простенький скриптик на PowerShell, который проходится по всем базам и выводит их размер занимаемый на диске, размер всех почтовых ящиков в них, а так же размер почтовых ящиков и удаленных элементов.

Текст скрипта:

$res = @()
$databases = get-mailboxdatabase -server ServerName | select-object -Property Name
foreach ($database in $databases) {
    $all = $null
    $all=Get-MailboxStatistics -database $database.name | select-object *size*
    $totalsize=0
    $totalsizewithDeleted=0
    $realSize=0
    foreach ($single in $all) {
        $totalsize+=$single.totalitemsize.Value.ToMB()
        $totalsizewithDeleted+=$single.totalitemsize.Value.ToMB()+$single.totaldeleteditemsize.Value.ToMB()
    }
    $realSize=get-mailboxdatabase -status $database.name | select-object *size*
    $realSize=[math]::Round($realSize.DatabaseSize.toMB()/1024)
    $totalsize=[math]::Round($totalsize/1024)
    $totalsizewithDeleted=[math]::Round($totalsizewithDeleted/1024)
    $line = "" | Select Name, RealSize, Size, SizeWithDeleted
    $line.Name = $database.name.ToString();
    $line.Size = $totalsize
    $line.SizeWithDeleted = $totalsizewithDeleted
    $line.RealSize = $realSize
    $res+=$line
}
$res
#пример вывода
#$res | Sort-Object -property RealSize -Descending | fl

Скрипт PowerShell для просмотра реального размера баз Exchange

В целом ни чего сложного тут нет. В самом начаале задаем имя сервера, на котором необходимо узнать размеры баз. Простым перебором суммируем размеры ящиков во всех базах на этом сервере, потом аналогичная процедура, но уже как для ящиков и так и для удаленных элементов. И после этого смотрим реальный размер базы. Вывод, в ГБ, записываем в объект, что позволит в будущем проводить какие-то операции с этим самым выводом, например сортировку, или еще что-то.

0 0

Share the article with your friends in social networks, maybe it will be useful to them.


If the article helped you, you can >>thank the author<<