Net use h: /home command ONLY works of 95, 98 and ME machines.
I know in a real windows NT domain you only use the NET USE H: /HOME statement for non NT computers. Because NT pulls that info from the domain database. In an NT domain you instead of putting NET USE H: /HOME in your script for NT machines you add in in user manager in the user account under profile. It gives you a choice under the option Home Directory ether Local Path or Connect "Drive letter" to \server\homedir$ NT, 2000 and XP pro machines know to pull from that. 95, 98, ME machines don't and need the NET USE H: /HOME statement to tell them to get the info from domain user database.
What I wound up doing is making a custom template for my logon script then using %U.bat as my script (which allows you to make a different logon script for each user using their logon name as the script name in caps.)
Then you can just map h: to the users home dir.
Here is the script I am using, the top part is for 95, 98 and ME machines. The bottom for NT, 2K and XP machines.
TMILES.bat :
if "%OS%" == "Windows_NT" goto NT_OS
net use h : /home
net use s: \server\dir
goto time
:NT_OS
net use h: \server\tmiles /persistent:no
net use s : \server\dir /persistent:no
:time
net time \server /set /yes
:end
The time command works for me with my XP pro machine no problem, and I know the if "%OS% == statement works fine in an NT domain using NT, 2000 and XP pro machines and seems to work fine with samba. The persistent statement causes NT machines to drop the drives that they have mapped after each reboot. If you don't use it everytime you run the script you will get an error saying the resource is all ready in use.
Anyway I hope this helps.