Solved

VB Script to Map Drives works on some accounts and not others

Posted on 2010-09-03
7
217 Views
Last Modified: 2012-08-13
Hi Experts,

I have the attached VB Script which has been working. However recently I started having problems where it would create the mapped drives for some accounts and not others. No error messages. Please advise on what could be wrong.

Thanks MapNetworkDrives.vbs
0
Comment
Question by:cimani1000
  • 4
  • 2
7 Comments
 
LVL 11

Expert Comment

by:sighar
ID: 33602458
Are the users that do not get the drives mapped added to the group in a group and not individually? I've had this and then it was that we added a group to the group that was supposed to get the drives. VBS cannot expand memberlist of another group.
0
 

Author Comment

by:cimani1000
ID: 33602492
They are mapped as a group. Sometimes it maps other times it does not
0
 
LVL 11

Expert Comment

by:sighar
ID: 33602499
Is it all groups or specific groups? Same users always or random users?
0
 

Author Comment

by:cimani1000
ID: 33602509
Specific groups e.g IT is always OK, HR, Customer Care SOMETIMES not always doesn't map
0
 
LVL 11

Expert Comment

by:sighar
ID: 33602527
No user is is two groups? And you didn't answer if it always the same users or random users...
0
 
LVL 11

Expert Comment

by:sighar
ID: 33602528
What does the error log on client computers say?
0
 
LVL 8

Accepted Solution

by:
spinzr0 earned 250 total points
ID: 33603391
Are you sure they have permissions to the shares and its not a permissions issue?  As a note, turn off the line ON ERROR RESUME NEXT and the error messages will pop up to tell you what went wrong.

Also, if you are using any nested groups you can enumarate all groups the person is a member of first, then process that list rather than just the top level groups.  Here is a sample that I've used.  It adds all group memberships to the dictionary oGroupMembership.  Then, you can process those as:

For Each oGroup in oGroupMembership
     Select Case oGroup
     .....
Next
Set oGroupMembership = CreateObject("Scripting.Dictionary")

oGroupMembership.CompareMode = vbTextCompare

For Each oGroup In oADUser.Groups

    RecurseGroup(oGroup.ADsPath)

Next





Function RecurseGroup(sADsPath)

    On Error Resume Next

    Set oRGroup = GetObject(sADsPath)

    oGroupMembership.Add Replace(oRGroup.Name,"CN=",""), True

    oRGroup.GetInfo

    Err.Clear

    cMemberOf = oRGroup.GetEx("memberOf")

    If Err.Number <> 0 Then Exit Function

    For Each sMemberOf In cMemberOf

        RecurseGroup("LDAP://" & sMemberOf)

    Next

End Function

Open in new window

0

Join & Write a Comment

On July 14th 2015, Windows Server 2003 will become End of Support, leaving hundreds of thousands of servers around the world that still run this 12 year old operating system vulnerable and potentially out of compliance in many organisations around t…
Is your Office 365 signature not working the way you want it to? Are signature updates taking up too much of your time? Let's run through the most common problems that an IT administrator can encounter when dealing with Office 365 email signatures.
This tutorial will walk an individual through the process of transferring the five major, necessary Active Directory Roles, commonly referred to as the FSMO roles from a Windows Server 2008 domain controller to a Windows Server 2012 domain controlle…
This tutorial will walk an individual through the process of transferring the five major, necessary Active Directory Roles, commonly referred to as the FSMO roles to another domain controller. Log onto the new domain controller with a user account t…

746 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

8 Experts available now in Live!

Get 1:1 Help Now