Is it possible to defrag the hard disk without admin rights?
I'm using Windows XP.
Long: You can't because it requires rearranging the filesystem, which is dangerous because a virus defragger could rearrange the filesystem and then with a single block change, it could replace a vital program with its own version.
You need an account with admin rights to defrag the disk.
However, it is possible to allow non-admin accounts to do this on an admin's behalf. The way you accomplish it by setting up a scheduled task to defrag the disk. When you set up the task, you will be able to set up the account the computer uses to run the task. You can then give any account the ability to start the task, and it will run with the credentials you specified.
The caveat here is that this will not be an interactive run - it will just be a background task that your users can kick off.
IMHO, don't allow users to do any sort of 'maintenance' task on their corporate-issued systems..more bad than good is likely to come out of it.
For defrag specifically, you can install some good Microsoft Certified automatic background defragmenter and configure it to run in the background (as long as it uses only idle resources) or set it for specific time slots according to your policy. Either way, defragmentation occurs, and the user does not have to do anything to derive its benefits.