The information below is available in several different Citrix articles. I am putting in here mainly for my reference but if anyone else find it useful then all the better.
This blog post details customizing Citrix Access Gateway Enterprise Edition.
Disable haSync
If you are running in a HA setup you will want to set the secondary node to stay secondary so that the NetScalers don’t failover when you are rebooting.
To do this run this command on the secondary node.
Set node -hastatus staysecondary
save config
Preparing the NetScaler
1. Connect to the Primary NetScaler using WinSCP
2. Create the following directory /var/customizations
3. Copy
/netscaler/ns_gui/vpn/index.html
/netscaler/ns_gui/vpn/login.js
/netscaler/ns_gui/vpn/resources/en.xml
To
/var/customizations
4. Create a file called rc.netscaler in /flash/nsconfig
5. Edit the rc.netscaler file and add the following lines
cp /var/customizations/login.js /netscaler/ns_gui/vpn/login.js
cp /var/customizations/index.html /netscaler/ns_gui/vpn/index.html
cp /var/customizations/en.xml /netscaler/ns_gui/vpn/resources/en.xml
6. Save the file
Customizing Password Fields
1. Open /var/customizations/login.js
2. Search for the following text
if ( pwc == 2 ) { document.write(‘ 1’); }
3. Edit this line to remove the “1” so that the line looks like this
if ( pwc == 2 ) { document.write(‘ ‘); }
4. Save the file
Disclaimer text
1. Open /var/customizations/index.html
2. Add the text, highlighted in bold, as shown in the following snippet:
0px;border-collapse:collapse;”>
<tr><td colspan=3></td></tr>
<tr>
10px;”>User name:
8px;”>
</tr>
<SCRIPT language=JavaScript>ns_showpwd();</SCRIPT>
<tr>
<input type=”submit” value=”Log On” onclick=”ns_check();” onmouseover=”this.className=’CTX_CaxtonButton_Hover’;” onmouseout=”this.className=’CTX_CaxtonButton’;” name=”LogonButton” disabled=”true”/></td>
</tr>
</table>
<!– Disclaimer customization –>
<input type=”checkbox” name=”chk1_button” onClick=”enableLogonButton(this);”/> Please enter you disclaimer text here
<!– End of Disclaimer customization–>
</FORM>
3. Save the file
4. Open /var/customizations/login.js
5. Add following function at the end of the file:
function enableLogonButton(obj)
{
var loginForm = document.vpnForm;
if(obj.checked){
loginForm.elements[“LogonButton”].disabled=false;
}
else{
loginForm.elements[“LogonButton”].disabled=true;
}
}
6. Save the file
Restart the Primary NetScaler for changes to take effect.
Once you are happy that all the customizations are working correctly copy
/var/customizations
/flash/nsconfig/rc.netscaler
to the secondary NetScaler and restart it also.
Enable synchronisation again by running the following command
set node –hasync enable