Функция Получает-DatabaseStatus
{
Param (
[Шнур []] $Server
)
$Server | ForEach-Предмет {
# выставка некоторые индикаторы прогресса
Писать-Хозяин «начиная петлю для $_»
Писать-Хозяин «исполняя вопрос WMI»
$wmiServer = Получают-Wmiobject Exchange_Server - `_ $ компьютера
- #-ErrorAction корень \ MicrosoftExchangeV2 SilentlyContinue Namespace
Писать-Хозяин «создавая CDOEXM возражает»
$cdoexmIExchangeServer = Нов-Предмет - com CDOEXM.ExchangeServer
$cdoexmIStorageGroup = Нов-Предмет - com CDOEXM.StorageGroup
$cdoexmIMailboxStoreDB = Нов-Предмет - com CDOEXM.MailboxStoreDB
Писать-Хозяин «источник данным по сервера обменом отверстия»
$cdoexmIExchangeServer.Datasource.Open ($_)
Писать-Хозяин «проверяя StorageGroups»
$cdoexmIExchangeServer.StorageGroups |
Где-Предмет {ne 0 $_.IndexOf («группы хранения CN=Recovery») -} |
ForEach-Предмет {
Писать-Хозяин «группа $_ хранения отверстия»
$cdoexmIStorageGroup.DataSource.Open ((«LDAP: /» + $_))
$cdoexmIStorageGroup.MailboxStoreDBs | ForEach-Предмет {
Писать-Хозяин «магазин $MailStore отверстия»
$cdoexmIMailboxStoreDB.DataSource.Open ((«LDAP: /» + $_))
$cdoexmIMailboxStoreDB | Имя Выбирать-Предмета,
@ {e= n='Status'; {если ($_.Status - eq 0) {«после того как я установлено»} еще {«после того как я спешено»}}}, то
}
}
}
}
}
Получите-DatabaseStatus «server1», «server2» | ConvertTo-HTML
|