##START MAINTENANCE $servername = $env:computername $servers = Get-exchangeserver |? {($_.Name -ne $servername) -and ($_.Ise15orlater -eq $True)} | select fqdn $target = Get-random $servers Write-Host "Maintenance mode server is $($servername)" Write-Host "Transport redirect target server is $($target.fqdn)" Write-Host "Draining Transport and UM services" Set-ServerComponentState $servername -Component HubTransport -State Draining -Requester Maintenance Set-ServerComponentState $servername -Component UMCallRouter -State Draining -Requester Maintenance Write-Host "Start Sleep for 30 seconds" Start-Sleep -Seconds 30 Get-Queue Write-Host "Starting Maintenance Mode" Write-Host "Moving Active Databases" Move-ActiveMailboxDatabase -server $servername -MountDialOverride Lossless Suspend-Clusternode $servername cd $ExScripts .\StartDagServerMaintenance.ps1 -serverName $servername -MoveComment Maintenance -OverrideMinimumTwoCopies Write-Host "Redirecting messages to $($target.fqdn)" Redirect-Message -Server $servername -Target $target.fqdn -confirm:$false Write-Host "Set server to ServerWideOffline" Set-ServerComponentState $servername -Component ServerWideOffline -State Inactive -Requester Maintenance ##CHECK THAT SERVER IS IN MAINTENANCE Write-Host "##########" -ForegroundColor Yellow Write-Host "Service Components should be inactive" -ForegroundColor Yellow Get-ServerComponentState $servername | FT Component,State -Autosize Write-Host "Server should be blocked" -ForegroundColor Yellow Get-MailboxServer $servername | FL DatabaseCopyAutoActivationPolicy Write-Host "Clusternode state should be paused" -ForegroundColor Yellow Get-ClusterNode $servername | FL Write-Host "Non-Shadow Queues should be empty" -ForegroundColor Yellow Get-Queue -server $servername