2016-06-13 64 views
0

我新的PowerShell的,我寫這個劇本,檢查數據庫的狀態:PowerShell的 - 檢查交換DB的狀態

Add-PSSnapin Microsoft.Exchange.Management.PowerShell.SnapIn 

$null = Get-MailboxDatabaseCopyStatus | Where-Object {$_.status -match "Mounted" } -outvariable dbstatus 
$null = $dbstatus.status 

if (-not $dbstatus.status -eq "Mounted"){ 
Write-Host "OK" 
} 

Else {Write-Host $dbstatus.name status: $dbstatus.status} 

它的工作好。唯一的問題是,如果我有超過1dB卸載,我得到這樣的:

db1 db2 status: Unmounted Unmounted 

我怎樣才能解決這個問題?

+0

你期望的輸出? –

回答

0

由於$dbstatusDatabaseCopyStatusEntry集合對象,你要遍歷它在一個循環中得到每一個人DB的狀態:

foreach($db in $dbstatus){ 
    if ($db.Status -eq "Mounted"){ 
     Write-Host $db.Name "OK" 
    } 
    else { 
     Write-Host $db.Name status: $db.Status 
    } 
}