Results 1 to 4 of 4

Thread: VB Script Problem

  1. #1

    Thread Starter
    New Member
    Join Date
    Aug 2004
    Posts
    3

    VB Script Problem

    Hi all. I am a script newbie and need some assistance with a script that maps drives based on user group membership.

    When it runs, I get a type mismatch "Join" error. This seems to happen only on users that belong to one group. If I remove the Join function, the script runs for multiple group membership users but not for single group users. Also, are my elseif statements correct to map drives based on multiple group membership? Any ideas anyone? Code is below.


    Option Explicit
    Dim objNetwork, objUser, CurrentUser
    Dim strGroup

    Const Purchasing_Group = "cn=purchasing_services"
    Const Accounting_Group = "cn=accounting_services"
    Const Payroll_Group = "cn=payroll_services"
    Const Employee_Services_Group = "cn=employee_services"
    Const PCARD_Limited_Group = "cn=pcard_limited"
    Const PCARD_Full_Group = "cn=pcard_full"
    Const Parklane_Production_Group = "cn=parklane_production"
    Const Boardmins_Group = "cn=boardmins"
    Const PSearch_Group = "cn=psearchdb"
    Const PPRESS_Full = "cn=ppress full"
    Const Admin_Services_Group = "cn=admin_services"
    Const Business_Services_Group = "cn=business_services"
    Const Cec_Central_Group = "cn=cec_central"
    Const Cec_East_Group = "cn=cec_east"
    Const Cec_North_Group = "cn=cec_north"
    Const Cec_Secondary_Group = "cn=cec_secondary"
    Const Cec_West_Group = "cn=cec_west"
    Const Curriculum_Group = "cn=curriculum_division"
    Const Directors_Group = "cn=directors_division"
    Const Instructional_Group = "cn=instruct_services"
    Const IT_Services_Group = "cn=it_services"
    Const Learning_Resources_Group = "cn=learning_resources"
    Const Planning_Services_Group = "cn=planning_services"
    Const Staff_Development_Group = "cn=staff_development"
    Const Plant_Services_Group = "cn=plant_services"
    Const FMIS_Group = "cn=fmis"

    Set objNetwork = CreateObject("WScript.Network")
    ' Forces script to skip errors (rem below line to see errors)
    'on error resume next

    Dim WshNetwork
    Set WshNetwork = WScript.CreateObject("WScript.Network")

    Set objUser = CreateObject("ADSystemInfo")
    Set CurrentUser = GetObject("LDAP://" & objUser.UserName)
    strGroup = LCase(Join(CurrentUser.MemberOf))


    ' Group Specific drive mappings

    if InStr(strGroup, PPRESS_Full) then
    objNetwork.MapNetworkDrive "j:", "\\server23\ppressdata$"
    objNetwork.MapNetworkDrive "p:", "\\server23\purchase orders$"
    objNetwork.MapNetworkDrive "t:", "\\server23\t4s$"
    objNetwork.MapNetworkDrive "l:", "\\server23\sick statements$"
    objNetwork.MapNetworkDrive "s:", "\\server23\Benefit Statements$"
    objNetwork.MapNetworkDrive "v:", "\\server23\PPSearchSoftware$"
    objNetwork.MapNetworkDrive "x:", "\\server23\psearchdb$"
    end if


    if InStr(strGroup, Purchasing_Group) then
    objNetwork.MapNetworkDrive "p:", "\\server23\purchase orders$"
    objNetwork.MapNetworkDrive "u:", "\\server1\pcard_committee$"
    objNetwork.MapNetworkDrive "y:", "\\server1\purchasing_services"
    objNetwork.MapNetworkDrive "x:", "\\server23\psearchdb$"
    end if


    if InStr(strGroup, FMIS_Group) then
    objNetwork.MapNetworkDrive "u:", "\\server1\planning_services"
    end if

    if InStr(strGroup, PCARD_Limited_Group) then
    objNetwork.MapNetworkDrive "u:", "\\server1\pcard_committee$"
    end if

    if InStr(strGroup, PCARD_Full_Group) then
    objNetwork.MapNetworkDrive "u:", "\\server1\pcard_committee$"
    end if

    if InStr(strGroup, Parklane_Production_Group) then
    objNetwork.MapNetworkDrive "h:", "\\server1\parklane_net$"
    end if

    if InStr(strGroup, Boardmins_Group) then
    objNetwork.MapNetworkDrive "m:", "\\server74\siteserverdocuments$"
    end if


    ' Multiple Group Drive Mappings

    if InStr(strGroup, PSearch_Group) then
    objNetwork.MapNetworkDrive "x:", "\\server1\psearchdb$"
    objNetwork.MapNetworkDrive "p:", "\\server23\purchase_orders$"
    ElseIf InStr(strGroup, Accounting_Group) then
    objNetwork.MapNetworkDrive "x:", "\\server1\psearchdb$"
    objNetwork.MapNetworkDrive "p:", "\\server23\purchase_orders$"
    End if


    if InStr(strGroup, PSearch_Group) then
    objNetwork.MapNetworkDrive "x:", "\\server1\psearchdb$"
    objNetwork.MapNetworkDrive "t:", "\\server23\t4s$"
    ElseIf InStr(strGroup, Payroll_Group) then
    objNetwork.MapNetworkDrive "x:", "\\server1\psearchdb$"
    objNetwork.MapNetworkDrive "t:", "\\server23\t4s$"
    End If



    if InStr(strGroup, PSearch_Group) then
    objNetwork.MapNetworkDrive "x:", "\\server1\psearchdb$"
    objNetwork.MapNetworkDrive "s:", "\\server23\benefit statements$"
    objNetwork.MapNetworkDrive "l:", "\\server23\sick statements$"
    ElseIf InStr(strGroup, Employee_Services_Group) then
    objNetwork.MapNetworkDrive "x:", "\\server1\psearchdb$"
    objNetwork.MapNetworkDrive "s:", "\\server23\benefit statements$"
    objNetwork.MapNetworkDrive "l:", "\\server23\sick statements$"
    End If


    ' Department Y: Drive Mappings


    if instr(strGroup, Accounting_Group) then
    objNetwork.MapNetworkDrive "y:", "\\server1\accounting_services"
    end if

    if instr(strGroup, Payroll_Group) then
    objNetwork.MapNetworkDrive "y:", "\\server1\payroll_services"
    end if

    if InStr(strGroup, Employee_Services_Group) then
    objNetwork.MapNetworkDrive "y:", "\\server1\employee_services"
    end if

    if InStr(strGroup, Admin_Services_Group) then
    objNetwork.MapNetworkDrive "y:", "\\server1\admin_services"
    end if

    if InStr(strGroup, Business_Services_Group) then
    objNetwork.MapNetworkDrive "y:", "\\server1\business_services"
    end if

    if InStr(strGroup, Cec_Central_Group) then
    objNetwork.MapNetworkDrive "y:", "\\server1\cec_central"
    end if

    if InStr(strGroup, Cec_North_Group) then
    objNetwork.MapNetworkDrive "y:", "\\server1\cec_north"
    end if

    if InStr(strGroup, Cec_West_Group) then
    objNetwork.MapNetworkDrive "y:", "\\server1\cec_west"
    end if

    if InStr(strGroup, Cec_East_Group) then
    objNetwork.MapNetworkDrive "y:", "\\server1\cec_east"
    end if

    if InStr(strGroup, Cec_Secondary_Group) then
    objNetwork.MapNetworkDrive "y:", "\\server1\cec_secondary"
    end if

    if InStr(strGroup, Curriculum_Group) then
    objNetwork.MapNetworkDrive "y:", "\\server1\curriculum_division"
    end if

    if InStr(strGroup, Directors_Group) then
    objNetwork.MapNetworkDrive "y:", "\\server1\directors_division"
    end if

    if InStr(strGroup, Instructional_Group) then
    objNetwork.MapNetworkDrive "y:", "\\server1\instruct_services"
    end if

    if InStr(strGroup, IT_Services_Group) then
    objNetwork.MapNetworkDrive "y:", "\\server1\cec_central"
    end if

    if InStr(strGroup, Learning_Resources_Group) then
    objNetwork.MapNetworkDrive "y:", "\\server1\learning_resources"
    end if

    if InStr(strGroup, Plant_Services_Group) then
    objNetwork.MapNetworkDrive "y:", "\\server1\plant_services"
    end if

    if InStr(strGroup, Planning_Services_Group) then
    objNetwork.MapNetworkDrive "y:", "\\server1\planning_services"
    end if

    if InStr(strGroup, Staff_Development_Group) then
    objNetwork.MapNetworkDrive "y:", "\\server1\staff_development"
    end if


    Thanks so much in advance.

    Spd.
    Last edited by spd_demon; Aug 5th, 2004 at 12:19 PM.

  2. #2
    PowerPoster techgnome's Avatar
    Join Date
    May 2002
    Posts
    34,687
    What does Join do?

    TG
    * I don't respond to private (PM) requests for help. It's not conducive to the general learning of others.*
    * I also don't respond to friend requests. Save a few bits and don't bother. I'll just end up rejecting anyways.*
    * How to get EFFECTIVE help: The Hitchhiker's Guide to Getting Help at VBF - Removing eels from your hovercraft *
    * How to Use Parameters * Create Disconnected ADO Recordset Clones * Set your VB6 ActiveX Compatibility * Get rid of those pesky VB Line Numbers * I swear I saved my data, where'd it run off to??? *

  3. #3

    Thread Starter
    New Member
    Join Date
    Aug 2004
    Posts
    3
    Hi TG,

    I believe the Join string attaches the user's group membership to the CONST group identifier. I think.....

    Spd.

  4. #4

    Thread Starter
    New Member
    Join Date
    Aug 2004
    Posts
    3
    What I am looking for is the syntax to map a network drive based on user membership in more than one group.

    So I only want the drive mapped if a user belongs to GroupA AND GroupB.

    I hope someone can help.

    TIA.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  



Click Here to Expand Forum to Full Width