#Exchange 2010 and CAS Arrays

#Exchange2010 #Powershell

So in my lab I have been playing with CAS Arrays before they hit production.  I have also spoken to number of people about them and I think Exchange 2010 SP2 need to address a tiny issue that would make CAS Arrays great.


… When a Client Access server array is defined in an Active Directory site, it serves as a single contact point for all client connections within that Active Directory site. A Client Access server array can include one or many Client Access servers.

Each Active Directory site can have a single Client Access server array. A Client Access server array doesn’t provide load balancing. A separate load balancing solution is still needed.

So this is cool, you set up CAS Arrays per AD Site, and then you need to set the RPCClientAccessServer value for mailbox databases.

BUT, if you have say a 4 node DAG that is split say over 2 AD sites, things get interesting.  Why? well if a database fails over to another AD site, the RPCClientAccessServer  doesn’t get automatically updated.  Now this isn’t an issue as the CAS servers will proxy, but its not an ideal solution, you really want your users to go to the CAS Array in the AD site the mailbox database is in.  So what would be nice is for Exchange 2010 SP2 to automatically update the RPCClientAccessServer when a active database copy is moved.

So rant off, i knocked this up yesterday to address this.  Check it out and let me know what you think:

$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
   Write-Host ” ERR`n” -Foregroundcolor RED
   Set-MailboxDatabase $db -RpcClientAccessServer $CA

British Airways

So here I am on a rescheduled flight from Houston to London.  I was supposed to flight Friday Night at 8PM local time, but because of the threat of a strike, my flight was cancelled .. only for the strike to be put on hold and an attempt to resume normal service.

So, now on my way home, I am fortunate enough for the company I am working to provide me with a Business Class Seat (which really isn’t cheap at all).  Now in comparison to my outbound flight the week before they have cut back on the cabin service and have no duty free.

Now I know your thinking poncy twat he is lucky to be in coffin class, and I agree, but BA today on this plane are NOT on strike, what the hell is stopping them from providing the service they should .. if you pay more than a couple of grand a ticket you expect value for money.  I can kind of understand the issue the cabin crew have, but come on guys, in the work most of you paying customers do, they would be marched out the door and just have to deal with it.  From what I understand (and I could be very wrong), BA cabin crew have some of the best benefits in the industry … and your bitching about loosing some ..:-|

If you look at the big picture, you strike, the paying public go, phuck that I’m not flying BA, so go somewhere else.  Then less people fly BA due to the “threat” of strikes, BA reduces the number of flight as it has less passengers and bingo, job cuts.

Going on strike might seem like a good idea to get a point forward, but your only shooting yourselves and pissing off the paying public, who have plenty of choice to fly with someone else.

As the flight goes on, the crew are doing the best they can, but in a strange way, it is their fault in the first place, so should I feel sorry? or pissed off?

Sorry about that but its pissing me off

Decisions Decisions … an iPhone2 or not?

So I have had a look and play with a HTC Touch Diamond and its … okay, was a bit sluggish, but I seem some firmware updates have emerged so maybe its got better.

But what about the iPhone2? with 3g, its a sweet bit of kit, but has one very BIG issue for me … and that is o2.  I dont want to change from t-mobile, so why has apple take the stupid decision to stick with just one mobile phone provider?

The Microsoft or Nokia or anyother phone manufacturer, just make the phone and anyone can sell it on .. if apple followed this model they will sell a hell of a lot more iPhone .. instead, me thinks a trip to the good ole USA is due to pick up a grey market one. 

Then I saw this baby, the HTC Touch Pro .. based on the HTC Touch Diamond but with a keyboard .. hummm, but not as sexy as the iPhone .. Decisions, Decisions .. what should I do?