Guest User

Untitled

a guest
Jun 16th, 2014
365
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. Param(
  2.   [string]$Server
  3. )
  4.  
  5.  
  6.  
  7. $DB = "primarydb"
  8.  
  9.  
  10. $status = 0
  11.  
  12. add-pssnapin Microsoft.Exchange.Management.PowerShell.SnapIn
  13.  
  14.  
  15. # Get Database stuff
  16. $Database = Get-MailboxDatabase | Where-Object {$_.Name -eq $DB}
  17.  
  18. # Establish desired state by querying for first database in the database activation preference order
  19. $GetPrefOrder = $Database.Servers
  20. $DefaultDBServer = $GetPrefOrder[0]
  21.  
  22.  
  23.  
  24. # Filter for failed over database
  25.  
  26. $FailedoverMDB = $Database | Where-Object {$_.Server -ne $DefaultDBServer}
  27.  
  28. #write-host $Database
  29. #write-host $DefaultDatabase
  30. #write-host $FailedoverMDB.Length
  31.  
  32.  
  33.  
  34. if($FailedoverMDB.Length -gt 0) {
  35.  
  36.     $status=2
  37.     $NowDB = Get-MailboxDatabase | Where-Object {$_.Name -eq $DB}
  38.     $NowDBName = $NowDB.Name
  39.     $NowServer = $NowDB.Server
  40.     $desc = "Database Failover Event => $NowDBName is active on $NowServer"
  41. }
  42.  
  43. if ($status -eq "2") {
  44.     Write-Host "CRITICAL: $desc"
  45. } elseif ($status -eq "0") {
  46.     Write-Host "OK: $DB is active on $Server"
  47. }
  48.  
  49. exit $status
Advertisement
Add Comment
Please, Sign In to add comment