Deploying a logon script through GPO
Basically, deploying the script should be through group policy. There are a lot of guides online that tell you how (example), I might add my own at some point.
One thing you should be aware of, that very few sites mention, is “Group Policy processing and precedence“. Specifically:
Any version of Windows XP Professional provides a fast logon optimization feature. By default, computers with these operating systems do not wait for the network to start when they boot up. After logon, policy is processed in the background once the network is available. This means that at logon and startup, the computer will continue to use the earlier policy settings. Therefore, for settings that can only be applied at boot or logon (such as software installation and folder redirection) more than one logon can be required by the user after the initial change is made to the GPO. This policy is controlled by the setting in Computer Configuration\Administrative Templates\System\Logon\Always wait for the network at computer startup and logon. This feature is not available on versions of Windows 2000 or Windows 2003 Server.
In a nutshell, a PC with XP or later might not have its network stack initialized before the user is finished keying in his or hers password, and hit enter. The result is that your group policy that tells the computer to run the logon script will not be assigned to the computer, and the script will thus never run.
Setting the policy mentioned in the quote above will make sure everything runs as expected.