Load Balancing Exchange 2013 With Citrix NetScaler 11

Today, I am publishing a small guide written and intended to be used as a starting point for Load Balancing Microsoft Exchange 2013 via Citrix NetScaler 11 Build 64.34 and newer with the following expectations:

  • Provide Load Balancing (LB) to all Exchange services.
  • Provide ActiveSync Kerberos Constrained Delegation to function with iPhone, iPad (iOS Configuration Utility or AirWatch), Android (TouchDown Mail Client or AirWatch), or Windows Phone (AirWatch).
  • Provide service monitors that are in line with Microsoft best practices.
  • Provide all Exchange services via Content Switching Services (CSS) to only use one IP address.
  • Utilize responder and rewrite policies and actions to automatically redirect unsecured and root URL connections.
  • All communication from the client through to the Exchange 2013 servers will be secured.

I hope that this will be a help to the Citrix NetScaler community as a whole.  Thanks go to Rafyel G. Brooks who published a guide back in 2014 on how to deploy ActiveSync with KCD.  This guide resolves some issues with the configuration with the new NetScalers and expands on it to encompass the entire Exchange 2013 Load Balancing scenario.

Here It Is: NS11-Exchange2013-KCD-ActiveSync-Deployment

Please Enjoy!

Data Domain Retention Lock: Compliance Scripting

Today I had the opportunity to develop a quick and dirty PowerShell script for the EMC DataDomain Retention Lock: Compliance feature.  When using Retention lock, you have to update the last accessed date/time in order for it to trigger the retention feature on the DataDomain for any files that you want to have retained.  In my case, we are using a CIFS share and copying a bunch of files out to the share daily to be stored for a period of time — effectively using the DataDomain as a Write Once Read Many (WORM) device.  To update all the files at one time, we developed a quick script that will, once a day, scan the directory and update the access date/time.  That script is included here for reference:

#Set the directory root for the script to run.
$dirlook=”P:\”
#This is setting the script to only check files with a modified date within the last 1 day.
$backdate=$(Get-Date).AddDays(-1)
#This is the number of days to set the access date to.  Currently 7 Years.
$forwarddate=$(Get-Date).AddDays(+2555).ToString(‘MMddHHmmyyyy’)
#Find the files which are modified and modify the last access date.
Get-Childitem $dirlook -Recurse | `
where-object {!($_.psiscontainer)} | `
where { $_.LastWriteTime -gt $backdate } | `
foreach {C:\touch.exe -a -t $forwarddate $_.fullname}

Now, in order to use this, you will need to update the values a bit to mimic your requirements and you will need to get the “touch” program available here: http://sourceforge.net/projects/unxutils/?source=typ_redirect

Hope it helps you.