Here are two programs to turn on or off the NUM LOCK key state in Windows. These programs work in Windows 2000/XP/2003 and beyond. The NumlockOn.exe program will set numlock on when it is run, and the NumlockOff.exe program will set numlock off. These utility programs can be run automatically when the user logs on to set the numlock key to the desired state.
These programs are freely downloadable and are provided as-is. They are only 4 KB each. After downloading, just double-click to run them.
Please refer to this article: How to Set the NUM LOCK State at Logon in Windows XP. It explains how to set NUMLOCK on logon/logoff using a script. The problem with the script is that it toggles (or switches) the NUMLOCK key, it does not force it to a specific setting. You can instead use the utility program from here to always force the numlock key to a desired state every time it is run.
There is another way to permanently set the NUM LOCK key. Refer to this article: How to enable the NUM LOCK key for the logon screen. This requires editing the registry. Usually, if you just set the NUM LOCK key to the desired state, log off and then log back in, Windows will remember the state.
The reason I made these programs is because I have an IBM Thinkpad T42 laptop where the numlock key must be off, and a desktop PC where the numlock key must be on. When I connect to my desktop PC through XP Remote Desktop, the Thinkpad forces the desktop's NUMLOCK key to be off. When I log out of the Remote Desktop session, my desktop PC permanently saves the NUMLOCK key in the off state, which is undesirable. To solve this, I configured my desktop PC to run the NumlockOn.exe program whenever I log on. This can be done through group policy as described in the above Microsoft article.