The correct method is with policies, but as you're on Linux that option might
not be so easy to use. Registry modification should work though.
What you're looking for is the "Shell Folders" registry key.
http://windowsxp.mvps.org/usershellfolders.htm
The entries in this key are of the "expanding string" type -that is, any
%environment% variables will be replaced with that variable's value. (Type
'set' at a commandprompt to see the environment variables available to you)
However, if the mapping is always P: you don't need any more than P:\ as the
value. (Or P:\Documents might be better, to allow other uses of the home
folder such as email, but that's your call) If you make the change on one
computer with regedit, you can export this change as a .reg file.
To automate the process you can set the value(s) using this .reg file by
adding
regedit /s \\servername\netlogon\shellfolders.reg
to your logon script. Since this acts on the user part of the registry it
should work for non-admin users. (whereas modifying the machine defaults
wouldn't)