PowerShell的 - 检查交换DB的状态

问题描述:

我新的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

你期望的输出? –

由于$dbstatusDatabaseCopyStatusEntry集合对象,你要遍历它在一个循环中得到每一个人DB的状态:

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