Jump to content



Photo

  • Please log in to reply
23 replies to this topic

#1 Bollard

Bollard

    Neowinian

  • Joined: 22-May 07

Posted 27 December 2007 - 21:37

Hi,

Long time reader... but infrequent poster - be kind!

Short Version
I want to create a log on script that maps \\Server\Users\%USERNAME%\%USERNAME%'s Documents\ to Z: and then have Windows Explorer pop up showing the new folder.

Long Version
Side Note
***I want to clear up now - when i set up the Roaming Profiles, i used the %USERNAME% variable (to move the profile folder to C:\Users Shared Folder\%USERNAME%\%USERNAME%'s Profile\) - but now with Windows XP and special folders, once in the user account, the %USERNAME%'s Documents folder doesnt show as Fred's Documents (for example), but "My Documents". So, i dont know in these scripts if i need to specify \%USERNAME%'s Documents or \My Documents***

I have a sever and a couple of workstations setup with Roaming User Profiles and "My Documents" all stored on the server. The file structure on the server is:

C:\Users Shared Folder\%USERNAME%\%USERNAME%'s Documents\

\%USERNAME%'s Profile\


So im trying to say the Profile and Documents are in the same folder (%USERNAME%) on the server, so all the information for each user (their documents and profile data) are stored in a folder on the server, called their username.

The server is Windows 2K3 SBS, workstations are XP Pro.

Ive been using this site for guidance.

What i want is to run a script at logon that will connect the "%USERNAME%'s Documents" folder (on the server) to a drive (say Z:) (on the user's workstation) and then open that Z drive in Explorer on the user's pc.

But using the link above i can only get to "\%USERNAME%\" (the folder above what i want). I want it to map straight to the "%USERNAME%'s Documents" folder, so the Profile folder isnt shown, as now the profile folder is shown by mapping to \%USERNAME%, (so they cant muck about with it).

What's the code? Im using the template below, but I have no idea of VBScript.

' MNDUserNameBonus.vbs
' VBScript to map a network drive to the UserName. And open Explorer
' Author Guy Thomas http://computerperformance.co.uk/
' Version 2.2 - September 2005
' -----------------------------------------------------------------'
Option Explicit
Dim objNetwork, objShell
Dim strDriveLetter, strRemotePath, strUserName
strDriveLetter = "X:"
strRemotePath = "\\grand\home\"

' Purpose of the script to create a network object. (objNetwork)
' Then to apply the MapNetworkDrive method. Result K: drive
Set objNetwork = WScript.CreateObject("WScript.Network")
' Here is where we extract the UserName
strUserName = objNetwork.UserName
objNetwork.MapNetworkDrive strDriveLetter, strRemotePath & strUserName

' Bonus code to open Explorer at the mapped drive letter
Call ShowExplorer
WScript.Quit

Sub ShowExplorer()
Set objShell = CreateObject("WScript.Shell")
objShell.run ("Explorer" & " " & strDriveLetter & "\" )
End Sub

' End of Example of MapNetworkDrive logon script.


I can use NET USE, and that works to map the drive with the %USERNAME% variable, but it dont know how to get it to open the folder afterwards. Also i dont know the differences of using NET USE (ie .cmd) compared to objNetwork.MapNetworkDrive (ie .vbs). Is there a way to combine the both commands? Or is there a way to complete both objectives using one of them? Whats the differnce between cmd and vbs files for logon scripts? Which are better?

Alot of questions i know, any help is appreciated.

Cheers

Edited by Major_Disaster, 27 December 2007 - 22:00.



#2 kingofthecarts

kingofthecarts

    Neowinian

  • Joined: 04-December 03

Posted 27 December 2007 - 21:49

So you want to map their "My Documents" to their My Documents on the Server? If I'm Correct.

#3 OP Bollard

Bollard

    Neowinian

  • Joined: 22-May 07

Posted 27 December 2007 - 21:58

So you want to map their "My Documents" to their My Documents on the Server? If I'm Correct.

No. Sorry if i wasnt clear.

I want to map the user's My Documents folder (which is stored on the server), to a drive (say Z:) on the workstations... so it appears in My Computer (My Documents on \\server\users for example).

Thanks for the quick reply.

#4 xendrome

xendrome

    In God We Trust; All Others We Monitor

  • Tech Issues Solved: 9
  • Joined: 05-December 01
  • OS: Windows 8.1 Pro x64

Posted 27 December 2007 - 22:04

No. Sorry if i wasnt clear.

I want to map the user's My Documents folder (which is stored on the server), to a drive (say Z:) on the workstations... so it appears in My Computer (My Documents on \\server\users for example).

Thanks for the quick reply.



Can you make the users folder on the server their logon name example "jsmith"

Then share "jsmith" and remove "Everyone" and add only "jsmith" with full permissions

Then in their logon script. Just use

net use z: \\servername\%username% /persistant:yes /yes

Ahh Edit:... I see you want to open it afterwards, why not just add a shortcut to Z: in the startup folder...

#5 OP Bollard

Bollard

    Neowinian

  • Joined: 22-May 07

Posted 27 December 2007 - 22:14

Thanks for the reply - the quality, and quantity, of the help here is quite remarkable!

Well, tbh ive already managed to get a NET USE in much the way you have described to do the actual mapping - and it works. But this is only a small network, and im trying to learn new things and be a bit flashy... hence i was wanted to making the folder open in explorer once it has been mapped. For that i found:

' MNDUserNameBonus.vbs
' VBScript to map a network drive to the UserName. And open Explorer
' Author Guy Thomas http://computerperformance.co.uk/
' Version 2.2 - September 2005
' -----------------------------------------------------------------'
Option Explicit
Dim objNetwork, objShell
Dim strDriveLetter, strRemotePath, strUserName
strDriveLetter = "X:"
strRemotePath = "\\grand\home\"

' Purpose of the script to create a network object. (objNetwork)
' Then to apply the MapNetworkDrive method. Result K: drive
Set objNetwork = WScript.CreateObject("WScript.Network")
' Here is where we extract the UserName
strUserName = objNetwork.UserName
objNetwork.MapNetworkDrive strDriveLetter, strRemotePath & strUserName

' Bonus code to open Explorer at the mapped drive letter
Call ShowExplorer
WScript.Quit

Sub ShowExplorer()
Set objShell = CreateObject("WScript.Shell")
objShell.run ("Explorer" & " " & strDriveLetter & "\" )
End Sub

' End of Example of MapNetworkDrive logon script.


But though that does show the folder after being mapped, it doesnt work with %USERNAME%.

I spose i could have one NET USE (.cmd file) and then just the Sub ShowExplorer() bit of the .vbs file? But thats kinda messy and i was wondering it there was a neater solution.

I realise im being fussy, but i just want to learn...

Thanks again

EDIT: Just saw your post. Yeah that would work. But what would be the code to add a shortcut to the startup folder?

#6 kingofthecarts

kingofthecarts

    Neowinian

  • Joined: 04-December 03

Posted 27 December 2007 - 22:27

ECHO OFF
net use z: \\server\%username%  /presistant:yes /yes
explorer z:


thats for a batch.bat

explorer z: will open the z: drive with an explorer window :)

Edited by kingofthecarts, 27 December 2007 - 22:33.


#7 OP Bollard

Bollard

    Neowinian

  • Joined: 22-May 07

Posted 27 December 2007 - 22:35

Or in the batch script you could add "explorer z:" Then it would open it.

Perfect. Thanks a bunch. Just what i wanted, and in only 2 lines of code!

A few questions though to satisfy my curiosity... weve managed to get this running with 2 lines of code, whereas the .vbs seemed to take 15 - how come the difference? Is one method "better" than the other?

Now to the desktop! Im wanting to put a few icons / links on the destop via logon script. I can make a folder on the server of links and then just use a logon script to copy them to the user's desktop folder easily enough (i hope) but how would i go about adding their "My Documents" folder to the desktop?

Something like this work?

Thanks for the continued help.

Much appreciated.

EDIT: Just saw your edit! I simply added

explorer Z:

to the logon script and it worked... what is the effect of "ECHO OFF"? (Be gentle - i see it all the time on the net, but only being a teenager i dont know anything before XP... so all these DOS commands are foreign to me... if indeed that is DOS related!)

#8 kingofthecarts

kingofthecarts

    Neowinian

  • Joined: 04-December 03

Posted 27 December 2007 - 23:05

"My documents" is the z: drive? right? Make a shortcut where the batch script is to the z: drive, then copy the shortcut over to the desktop?

Example:
xcopy "My Documents.lnk" "c:\documents and settings\%username%\desktop" ** Single User Desktop **
OR
xcopy "My Documents.lnk" "c:\documents and settings\all users\" **Put on ALL users Desktops **

Another way would be to redirect the "My Documents" folder path. Then show the "My documents" folder on the desktop.

ECHO OFF = Just Hides Stuff - Such as the command lines. But with a short script there is really no time to see anything :p

#9 OP Bollard

Bollard

    Neowinian

  • Joined: 22-May 07

Posted 27 December 2007 - 23:20

"My documents" is the z: drive? right? Make a shortcut where the batch script is to the z: drive, then copy the shortcut over to the desktop?

Example:

xcopy "My Documents.lnk" "c:\documents and settings\%username%\desktop" ** Single User Desktop **
OR
xcopy "My Documents.lnk" "c:\documents and settings\all users\" **Put on ALL users Desktops **

Another way would be to redirect the "My Documents" folder path. Then show the "My documents" folder on the desktop.

ECHO OFF = Just Hides Stuff - Such as the command lines. But with a short script there is really no time to see anything :p

Thanks for carrying on putting up with me and all my questions! Its just that i find this interesting (odd eh?!)

Anyways, that worked well thanks - ive kinda modified it, as shown below:

xcopy "\\Server\Users\Desktop Shortcuts\My Documents.lnk" "%USERPROFILE%\Desktop"
xcopy "\\Server\Users\Desktop Shortcuts\My Computer.lnk" "%USERPROFILE%\Desktop"
xcopy "\\Server\Users\Desktop Shortcuts\Shared Documents.lnk" "%USERPROFILE%\Desktop"

But! When run a second time the a message comes up asking whether i want to overwrite (as the files are allready there). How do i stop this? Is this an "always answer yes" or "silent" or do i add that "ECHO OFF"?

Thanks again

#10 OP Bollard

Bollard

    Neowinian

  • Joined: 22-May 07

Posted 27 December 2007 - 23:48

I got it!

I just added -Y to the end of each line.

Thanks again for the help.

#11 kingofthecarts

kingofthecarts

    Neowinian

  • Joined: 04-December 03

Posted 28 December 2007 - 01:04

sorry got busy, kool, glad to help out :). I do this type of stuff alot :). , lol, forgot about %userprofile%.

Hope that helped ya :)

#12 OP Bollard

Bollard

    Neowinian

  • Joined: 22-May 07

Posted 28 December 2007 - 01:16

sorry got busy, kool, glad to help out :). I do this type of stuff alot :). , lol, forgot about %userprofile%.

Hope that helped ya :)

Yeh thanks a lot, you really helped. I dont do this stuff... at all. That was my first go at logon scripts, so not bad me thinks.

BTW, if anyone is interested, i found this. 3 Lines of VBScript allowing you to rename network drives.

So now i have 3 scripts that run:
1. Map To My Computer
(NET USE)

2. Rename Mapped Drives
mDrive = "N:\" etc

3. Desktop Shortcuts
XCOPY

Pretty cool!

#13 Joel

Joel

    Neowinian Senior

  • Joined: 07-August 01

Posted 28 December 2007 - 02:49

Why not do this in a GPO? You've chosen possibly the most complicated way to do this.

http://www.computerp...er_redirect.htm

#14 OP Bollard

Bollard

    Neowinian

  • Joined: 22-May 07

Posted 28 December 2007 - 03:50

Why not do this in a GPO? You've chosen possibly the most complicated way to do this.

http://www.computerp...er_redirect.htm

Eh? Ive allready set up roaming profiles and moved all the user data to the server.

I wanted (and have) now made it so whenever someone logs on they get a customised Desktop and My Computer.

/confused

#15 Joel

Joel

    Neowinian Senior

  • Joined: 07-August 01

Posted 28 December 2007 - 03:54

My Documents redirection has nothing to do with roaming profiles. You've created a script to map the path when it's already a part of the GPO options. Why not use the tools provided for you instead of a script? Home folders are right there in each user's profile tab in AD.



Click here to login or here to register to remove this ad, it's free!