Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations Mike Lewis on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Map Drives Based On Security Group

Status
Not open for further replies.

fraunkd

MIS
Sep 21, 2005
5
0
0
US
I need help editing a VBS logon script. My knowledge of VB scripting is below what most would consider a beginner. I created the logon script below based on examples I found on the web. Thank you for taking a look at my issue, any assistance would be greatly appreciated.

Needed Changes:

I need for the drive mappings for Q and R to be based on AD security group name. I'd like to keep this as simple as possible  no need for anything fancy.

Also:

If any of the drives are currently mapped, I'd like for the script to skip the drive and move on to the next without throwing an error. I do not want the script to disconnect a drive and remap and I do not want to display any message boxes.

Current Script:

'---------------------------------------------------
'Skip drive if already in use. Do not throw errors.
'---------------------------------------------------

On Error Resume Next

'---------------------------------------------------
'Map drive based on user logon name.
'---------------------------------------------------

strDriveLetter = "H:"
strRemotePath = "\\Server1\users"

Set objNetwork = WScript.CreateObject("WScript.Network")

strUserName = objNetwork.UserName
objNetwork.MapNetworkDrive strDriveLetter, strRemotePath _
& "\" & strUserName

'---------------------------------------------------
'Map network drives for everyone (need to edit Q and R
'mappings to be based on security group membership).
'---------------------------------------------------

strDriveLetter1 = "I:"
strDriveLetter2 = "K:"
strDriveLetter3 = "Q:"
strDriveLetter4 = "R:"

strRemotePath1 = "\\Server1\shared"
strRemotePath2 = "\\Server1\general"
strRemotePath3 = "\\Server1\payroll"
strRemotePath4 = "\\Server1\marketing"

Set objNetwork = CreateObject("WScript.Network")

objNetwork.MapNetworkDrive strDriveLetter1, strRemotePath1
objNetwork.MapNetworkDrive strDriveLetter2, strRemotePath2
objNetwork.MapNetworkDrive strDriveLetter3, strRemotePath3
objNetwork.MapNetworkDrive strDriveLetter4, strRemotePath4

WScript.Quit

*When looking at other examples on the net I see "if IsAMemberof" used alot but these examples never seem to work properly when incorporated into my script. Apparently I am not adding it properly as I usually receive "Error: Type mismatch: 'IsAMemberOf'".

Example:

If IsAMemberOf(objNetwork.UserDomain,objNetwork.UserName,"Domain Users") Then MapIt "I:","\\Server1\shared"

Again, any help on this is greatly appreciated.
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top