Иной раз нужно быстро оценить сколько свободного места на дисках, где располагается Exchange Server и почтовые базы. Например, Exchange начинает отключать свои сервисы, если на системном диске (где по умолчанию лежит очередь) мало места (менее ~8 Гб), а если место на диске с базой закончилось, то она будет размонтирована (точнее именно эта копия). Просмотреть состояние томов Exchange поможет маленький скрипт
Согласно рекомендациям продуктовой группы и скриптам от калькулятора тома для баз данных подключаются к системному диску в виде точек монтирования (и у них нет буквы диска).
Предлагаемый скрипт покажет вам не только заполнение диска C:, но и томов, которые к нему подмонтированы как mount point. Первую строку вы можете поправить, чтобы получить список серверов, которые вас интересуют. Моя команда возвращает имена всех Exchange серверов за исключением тех, имя которых начинается с «ME» (пограничные серверы, к которым нет доступа). Конечно ничто не мешает вам заменить в скрипте «C:», но что-то нужное вам.
Cкрипт оптимизирован для быстрого выполнения.
Код скрипта на Powershell:
$servers = Get-ExchangeServer | ? Fqdn -notmatch "^ME\d" | Select -ExpandProperty Fqdn gwmi Win32_Volume -Filter "Caption LIKE 'C:%'" -ComputerName $servers | Select SystemName,Caption, @{Name="Capacity";Expression={[math]::Round($_.Capacity/1gb,4)}}, @{Name="FreeSpace";Expression={[math]::Round($_.FreeSpace/1gb,4)}}, @{Name="% Free";Expression={[math]::Round($_.FreeSpace/$_.Capacity*100,2)}}, @{Name="UsedSpace";Expression={[math]::Round(($_.Capacity-$_.FreeSpace)/1gb,4)}}, @{Name="% Used";Expression={[math]::Round(($_.Capacity-$_.FreeSpace)/$_.Capacity*100,2)}}
Скрипт возвращает объекты, а не форматированный вывод, что позволяет вам при необходимости использовать результаты для дальнейшей обработки. Для красивого отображения в конце надо добавить Format-Table или Out-GridView:
$servers = Get-ExchangeServer | ? Fqdn -notmatch "^ME\d" | Select -ExpandProperty Fqdn $size = gwmi Win32_Volume -Filter "Caption LIKE 'C:%'" -ComputerName $servers | Select SystemName,Caption, @{Name="Capacity";Expression={[math]::Round($_.Capacity/1gb,4)}}, @{Name="FreeSpace";Expression={[math]::Round($_.FreeSpace/1gb,4)}}, @{Name="% Free";Expression={[math]::Round($_.FreeSpace/$_.Capacity*100,2)}}, @{Name="UsedSpace";Expression={[math]::Round(($_.Capacity-$_.FreeSpace)/1gb,4)}}, @{Name="% Used";Expression={[math]::Round(($_.Capacity-$_.FreeSpace)/$_.Capacity*100,2)}} $size | ft -AutoSize $size | Sort SystemName | ft -AutoSize $size | Sort SystemName,Caption | ft -AutoSize $size | Sort Caption | ft -AutoSize $size | Sort "% Free" | ft -AutoSize $size | Sort FreeSpace | ft -AutoSize $size | Out-GridView
Filed under: Exchange, Powershell, Windows | Tagged: Exchange, exchange server, Powershell, Windows 10 |
«подключаются к системному диску в виде точек монтирования»
а зачем так?
Ent версия поддерживает до 100 баз. Если для каждой свой диск, то надо 100 букв. Это и неудобно, и невозможно.