La función Consigue-DatabaseStatus
{
Param (
[Secuencia []] $Server
)
$Server | ForEach-Objeto {
# demostración algunos indicadores de progreso
Escribir-Anfitrión el “que comienza lazo para $_”
Escribir-Anfitrión “que ejecuta pregunta de WMI”
$wmiServer = Consiguen-Wmiobject Exchange_Server - `del _ de $ de la computadora
- #-ErrorAction raíz \ MicrosoftExchangeV2 del namespace SilentlyContinue
El Escribir-Anfitrión “que crea CDOEXM se opone”
$cdoexmIExchangeServer = Nuevo-Objeto - COM CDOEXM.ExchangeServer
$cdoexmIStorageGroup = Nuevo-Objeto - COM CDOEXM.StorageGroup
$cdoexmIMailboxStoreDB = Nuevo-Objeto - COM CDOEXM.MailboxStoreDB
Escribir-Anfitrión “fuente de datos del servidor del intercambio de la abertura”
$cdoexmIExchangeServer.Datasource.Open ($_)
Escribir-Anfitrión “que comprueba StorageGroups”
$cdoexmIExchangeServer.StorageGroups |
Donde-Objeto ne 0 {de $_.IndexOf (“grupo del almacenaje de CN=Recovery”) -} |
ForEach-Objeto {
Escribir-Anfitrión “grupo $_ del almacenaje de abertura”
$cdoexmIStorageGroup.DataSource.Open ((“LDAP: /” + $_))
$cdoexmIStorageGroup.MailboxStoreDBs | ForEach-Objeto {
Escribir-Anfitrión “almacén $MailStore de la abertura”
$cdoexmIMailboxStoreDB.DataSource.Open ((“LDAP: /” + $_))
$cdoexmIMailboxStoreDB | Nombre del Seleccionar-Objeto,
@ {e= del n='Status'; {si ($_.Status - eq 0) {“montado”} {“desmontado”}}}
}
}
}
}
}
Conseguir-DatabaseStatus “server1”, “server2” | ConvertTo-HTML
|