Exchange 2010: CAS-Array в сценарии Site Resilence

По поводу High Availability и Site Resilence много и достаточно подробно написано здесь. Сценарий хороший, но есть одно но. Как известно, пользователи почтовых ящиков подключаются к Exchange 2010 используя CAS Array. Фактически он играет роль общей точки доступа. В сайте может быть только один такой массив. Прописывается он на уровне почтовой базы через параметр RPCClientAccessServer. При переезде базы в другой сайт, этот параметр автоматически не переписывается, следовательно полностью автоматизировать процесс не получится (по идее старый массив CAS будет играть роль прокси для клиентов и перекидывать на нужный сервер, но хорошим это решение назвать сложно). Необходимо будет или вручную или с помощью скрипта этот параметр на переехавших базах переписывать.

В связи с этим попался интересный скрипт, который этот параметр у баз прописывает в зависимости от сайта где находится база.

$CASArray = @{"--" = "---"}
$MBXArray = @{"--" = "---"}
Get-ClientAccessArray | Foreach{$s=$_.Site;$f=$_.fqdn;$CASArray += @{"$s" = "$f"} }
Get-ExchangeServer | Foreach{$s=$_.Site;$n=$_.Name;$MBXArray += @{"$n" = "$s"} }
$Databases = Get-MailboxDatabase
#Look each mailbox server and assign the appropriate CASArray
#based on AD site
ForEach($Database in $Databases){
$db = $Database.Name
$inServerName = $Database.ServerName
Write-Host "Mailbox Database: " $db
Write-Host $inServerName ":" $Database.RpcClientAccessServer -NoNewLine
$ADSite = $MBXArray[$inServerName]
$CA = $CASArray[$ADSite]
Write-Host " - " $ADSite ":" $CA -NoNewLine
If($Database.RpcClientAccessServer -eq $CA){Write-Host " OK`n" -Foregroundcolor GREEN}
else{
Write-Host " ERR`n" -Foregroundcolor RED
Set-MailboxDatabase $db -RpcClientAccessServer $CA}}

Leave a Reply

Your email address will not be published. Required fields are marked *