The fun of working in IT
I’ve just come to the end of my 3rd week of my year-long industrial placement. For those not in the know, i’m working in the IT department of a medium sized local company.
People wonder why I like working in IT, my reasoning is that I enjoy playing with systems and making them work, and doing it properly. Sure, doing it a hackish way works, but it’s probably not good in the long run and does run nails down the internal chalkboard of my head! To give an example, i’ve been working on getting Microsoft’s Lync ready for deployment – expanding it beyond the current small test userbase. Lync can be thought of as a corporate version of Skype – enabling instant messaging, voice and video chat. However, it nicely ties in with other systems, such as the user database (Active Directory) and presence information (via Outlook Calendaring), something Skype doesn’t do.
Anyway, one of the problems with Lync is that on the first run it can take anywhere up to 60 minutes to download the address book. Without the address book, users cannot search for other people in the company to communicate with which isn’t really ideal. It turns out there is a registry setting that can adjust this interval to a user specified interval. So, all we need to do is deploy this registry setting to all users. Simple right?
Okay, so we can create a group policy that runs a command to add the setting to the registry on machine start up. This works fine, but it’s somewhat hackish – what if we want to remove the registry entry some point down the line (even though it dosen’t affect anything else)? Removing the policy won’t affect anything since the command has been executed, that registry entry will remain in the registry forever!
Windows Server 2008’s group policy enhancements solved this by adding preferences, registry entries can now be properly defined via group policies. So, we’ll just use preferences. Simple right?
Not quite, preferences are only supported on Windows Vista and higher by default and there are still some XP clients left in the organisation. Thankfully, Microsoft has published an update called Client Side Extensions that allows Windows XP clients to take advantage of the preferences policy. So now it’s just a matter of ensuring that the XP machines have this update. Unfortunately, it’s an optional update so the XP clients won’t get it automatically via Windows Update!
In an ideal world, Microsoft would have made the update available as an MSI and we could deploy it via group policy, but no – it’s available as an EXE only. We could still deploy via group policy by having it run as a command on start up but, like the original registry entry, this is a very hackish solution that isn’t really ideal.
There is one further way of deploying this update and that is to centrally manage updates rather than having the clients contact Windows Update themselves. This can be achieved via Windows Server Update Services (WSUS). Of course, this isn’t availble within the organisation at the moment, it’s on the neverending todo list (of which i’ve been assigned lots of tasks, which is good for giving me a range of experience). So, Windows Server Update Services needs to be installed in order to ensure we can force this optional update. Since you never go straight into production, we need to test it first, so a new test server is being built to run WSUS. If it works fine, then we can make another server in production.
So to sum up, in order to have the Lync address book’s initial sync perform much faster we need to set up a new test server and if all goes well, a new production server, taking several days.
It’s the hilariously inefficient/crazy things like this that make me love working in IT. It might take a while, but it’ll be done the right way – and won’t suddenly cause problems 1/2/n years down the line.