My company, InterKnowlogy, built the ASP.NET event application that helped the people in charge of Microsoft's recent TechEd 2002 manage the event's extranet and intranet, as well as the TechEd network's authenticated public site. My company also was responsible for deploying the network and the more than 600 computer kiosks that were available to the conference's attendees. I'll describe one of the many challenges my company faced in our effort to deploy an enterprise-class network and cutting-edge ASP.NET application within a few days.
One of our primary goals in deploying the system was to provide tools that would let attendees perform their "day jobs" remotely while attending the conference. We planned to provide terminal services access outside the firewall for TechEd attendees, and we hoped to provide Citrix access as well. However, an agreement allowing Citrix access didn't come through until just before the event began, which complicated my company's efforts to deploy the network.
InterKnowlogy developed the computer kiosk image (i.e., the standard software configuration for each computer) before TechEd began, and we planned to deploy the image to the machines onsite at the event center in New Orleans. The development team used Symantec Norton Ghost to blast the computer images to all the computer kiosks on the network, a process that took about 30 minutes. However, each kiosk required a technician's visit for testing, configuration, and manual logon to the network.
One of the technologies that we couldn't configure when we set up the network was the Citrix remote client connectivity software. We had learned from Microsoft that making Citrix software available on the computer kiosks was frequently requested by attendees of previous TechEd events. However, when we built the kiosk image, we didn't know whether Citrix software would be available to implement at TechEd. So, our network and deployment team included the Citrix software on the computer image in an unusable state. The day before TechEd opened, Citrix agreed to allow use of the software for the event. Unfortunately, Citrix's blessing came after we had blasted the computer images to all 600-plus machines.
The problem we then faced was how to configure the Citrix software to work on each machine within the limited time available. We needed to make sure that the software's icon was visible on each desktop so that attendees would see that the software was available for use. The Citrix software also required a unique and custom configuration of each machine's .ini file. Manually accomplishing these two tasks was simply impossible given the time frame and our team's staffing limitations.
The team solved the problem with two scripts, IconCheck.vbs and CitrixKioskMapping.vbs, which team members added to Windows 2000 Group Policy so that the scripts would execute upon logon during the usual testing process for each computer kiosk. IconCheck.vbs puts the Citrix icon on the desktop. The script uses the FileSystem Object to copy the Citrix icon to the desktop's All Users area. Here's the script:
Call objFSO.CopyFile("C:\Program Files\Citrix Program Neighborhood.*", "C:\Documents and Settings\All Users\Desktop\")
CitrixKioskMapping.vbs creates a unique .ini file, wfcname.ini, on the root of each machine's hard disk. The script uses the FileSystem Object and the Network Object to create this .ini file, which contains the machine name of each computer on which the file is created and placed. Here's the script:
Set objFile = objFSO.CreateTextFile("C:\wfcname.ini", True) If Err.Number = 0 Then objFile.Write("\[WFClient\]" & vbCrLf & "ClientName=" & objNetwork.ComputerName) objFile.Close End If
As the machines were authenticated during the usual testing process, Group Policy and these two scripts configured the computers to run the Citrix remote client connectivity software. After testing, we removed the scripts from Group Policy because we no longer needed them.
In his session at TechEd, Chris George, the mastermind of the network deployment at TechEd, said, "Windows 2000 Group Policy is Bill Gates' gift to network administrators." He's right on the mark; I'm going to use that quote for a long time, giving Chris full credit, of course.
The solution we used at TechEd is a crafty way to handle an interesting one-time problem. I hope it stimulates you to think of creative ways to solve similar problems in your own shops.
Tim Huckaby, News Editor, [email protected]