Funktion Erhalten-DatabaseStatus
{
Param (
[Schnur []] $Server
)
$Server | ForEach-Gegenstand {
# Erscheinen einige Fortschrittsanzeigen
Schreiben-Wirt „, der beginnt Schleife für $_“
Schreiben-Wirt „, der durchführt WMI Frage“
$wmiServer = Erhalten-Wmiobject Exchange_Server - Computer$ _ `
- Namespace Wurzel \ MicrosoftExchangeV2 #-ErrorAction SilentlyContinue
Der Schreiben-Wirt „, der CDOEXM verursacht, einwendet“ et
$cdoexmIExchangeServer = Neu-Gegenstand - COM CDOEXM.ExchangeServer
$cdoexmIStorageGroup = Neu-Gegenstand - COM CDOEXM.StorageGroup
$cdoexmIMailboxStoreDB = Neu-Gegenstand - COM CDOEXM.MailboxStoreDB
Schreiben-Wirt „Öffnungs-Austausch-Bediener-Datenquelle“
$cdoexmIExchangeServer.Datasource.Open ($_)
Schreiben-Wirt „, der überprüft StorageGroups“
$cdoexmIExchangeServer.StorageGroups |
Wo-Gegenstand {$_.IndexOf („CN=Recovery Speicher-Gruppe“) - Ne 0} |
ForEach-Gegenstand {
Schreiben-Wirt „Öffnungs-Speicher-Gruppe $_“
$cdoexmIStorageGroup.DataSource.Open ((„LDAP: /“ + $_))
$cdoexmIStorageGroup.MailboxStoreDBs | ForEach-Gegenstand {
Schreiben-Wirt „Öffnungs-Speicher $MailStore“
$cdoexmIMailboxStoreDB.DataSource.Open ((„LDAP: /“ + $_))
$cdoexmIMailboxStoreDB | Vorwählen-Gegenstand Name,
@ {n='Status'; e= {wenn ($_.Status - eq 0) {„angebracht“} sonst {„abgenommen“}}}
}
}
}
}
}
„Server1“ Erhalten-DatabaseStatus, „server2“ | ConvertTo-HTML
|