Implementing a fully automated unattended build process

The methodology I use for deploying and managing Citrix XenApp solutions has proven very successful over the years.

To maintain a homogeneous environment conducive to stability, utilisation of a well-defined and automated server build process is a best practice. Automated server builds can save countless hours when deploying new servers, rebuilding a problematic one, or addressing test requirements. A server build process is based on building servers from initial hardware configuration through to application installation and configuration. In most of my cases this is heavily used for Citrix XenApp rollouts.

Read more

Displaying useful connection information on the desktop wallpaper

Updated on 6th April 2010…

Like most IT professionals, I’ve been using Bginfo to embed some useful information in the wallpaper of a users Desktop for some years now. So what you say! Well…not too long ago Warren Simondson of CTRL-ALT-DEL IT Consultancy created a couple of cool utilities called TSBackdrop and PCBackdrop. I was specifically interested in the TSBackdrop utility, as it automatically displays items such as the Client Computer Name, Client IP address, Username and the Server which the Client is logged on to, on the user’s desktop background. This is great for Terminal and Citrix servers, and something that Bginfo lacks.

Read more

Print Spooler Self Healing 2.0

I was driven to write this script for a client that was using Novell’s iPrint. iPrint was causing some threads to hang, ending the spoolsv.exe process, and therefore stopping the Print Spooler service. Those of you that are using such poor printing solutions would no doubt have clocked up a considerable number of headaches. The good news is that this script will provide you with some much deserved pain relief. Let’s call it the “Asprin for iPrint”. I’ll have to register a trade mark for that one 😉

So why is this script so good? Glad you asked!

Read more

Intelligently changing the drive letter assignment for multiple CD/DVD ROM Drives

Diskpart may fail when creating more than one partition when executing the “assign letter=D” command. This is because Windows, WinPE included, by default assigns the first CD-ROM “type” drive to the first available letter after C:. So if you are partitioning a new server, or repartitioning a server that contains only 1 partition (C:), the CD-ROM drive will be assigned to D:. Therefore, if you were creating more than one partition and wanted to assign letter D: to the second partition, it would fail.

Read more

Place a XenApp Server in and out of service the easy way

The new theory for placing a server off-line is to apply an “Out of service” load evaluator instead of disabling logons. The “Out of service” load evaluator consists of an empty Scheduling rule. The issue with this theory is that if you automate the move of a server into an “Out of service” load evaluator for maintenance, reboots, etc, then how do you know which load evaluator to move it back into when it’s ready to be placed back into production? I guess most would hard code this, or reference it from an ini file, etc, but that requires too much maintenance, as it can be difficult to manage in the larger farms that make use of different load evaluators across different hardware and load managed groups. So I enhanced the original version of this script to address this exact problem. It will read the existing load evaluator and write it against a registry value called PreviousLoadEvaluator under the HKLM\SOFTWARE\Citrix key. Then you can easily re-run this script with certain parameters to set the load evaluator back to what it was previously using. A simple concept that works very well.

Read more

Scripting updates to the GPT.ini for the Local Group Policy

Updated on 27th October 2010.

I came across a challenge whilst working on a big XenApp deployment in a Novell environment. I needed to make changes to the Local Group Policy Object on all Terminal / Citrix servers. This was specifically required for implementation of a logoff script, as logoff scripts are not supported via Zen Polices in a Terminal Services environment.

As always, I wanted to automate it and found that there was a real lack of information about how this can be easily achieved. Anyway, I thought that modifying the Local Policy on all XenApp servers would be a pain, but it ended up being very simple indeed.

Admittedly, I could have just copied a new gpt.ini and scripts.ini into place, but then it would not have respected any previous changes and settings that had already been made to the gpt.ini. So this script checks existing configuration settings before making any changes to the gpt.ini file.

Enjoy!!

Read more

Managing MS Office 2007 Quick Access Toolbar(s) with Roaming Profiles

Hmmm…why oh why would Microsoft place the Office 2007 Quick Access Toolbar (.qat) files in the “%userprofile%\Local Settings\Application Data\Microsoft\Office” folder rather than the “%appdata%\Microsoft\Office” folder??? The “Local Settings” folder does not roam, nor would you want it to, so I don’t understand their thought process behind this one. The only real workaround is to use logon and logoff scripts to copy them into place. Refer to Microsoft Technet article KB926805 for further information.

Read more

Script to replace Delprof.exe

Joe Shonk has written a very nice Delete Profiles Script to replace the lack of flexibility found in the DELPROF.exe tool. I’ve used it for my latest XenApp rollout, and have found that it works really well 🙂 See below for further information as to how I have implemented it.

Warren Simondson of Ctrl-Alt-Del IT Consultancy has released a command-line utility called REMProf to delete local user profiles that are not in use when this command is executed. Andy Morgan has created a great blog to demonstrate how usefull this tool can be to remove a user profile from multiple Terminal / Citrix servers.

Read more