Using Excel will significantly complicate your script. Consider an INI file to translate key fields, since INI processing is built-in to Kix. For example:
 Code:
$NewName = ReadProfileString('path\to\translate.ini', 'NAME', $UserID) ; read name translation
$Name = IIf($NewName, $NewName, $Name) ; replace Name if NewName is defined
The INI file would look like this:
 Code:
[NAME]
WThornton=Billy Bob Thornton
JSmith=Juli Smythe
Basically, right after you gather all of the data from AD, you use the UserID to replace selected fields from the lookup table. The table has sections for all critical data such as name, address, city, etc. You can likely do direct translations of City to NewCity to reduce the number of replacements, but user name replacements should be done on a userID to User Name basis to account for duplicates.

Using the IIF only replaces the AD data if replacement data exists.

Note that using INI file lookups during login can significantly impact login time over WAN connections, so keep the number of reads minimal. You might use a CSV record - UserID=name,address... - so only one read is required. Use the CSV UDF to break it into an array and use the IIF to replace specific fields. This method requires a full set of replacement data for every user but results in faster performance.

Glenn
_________________________
Actually I am a Rocket Scientist! \:D