Question : Using "ifmember" to map network drives for users in multiple groups.

Using "ifmember" to map network drives for users in multiple groups.

His guys, I'm trying to use "ifmember" to map network drives for users in multiple group, but it will only map the needed drives for users in the first group that fines. Here is the bat file that I'm using.

::test for membership - goto appropriate group
ifmember "mydomain\mydomain Accounting" || goto mydomainAccounting
ifmember "mydomain\mydomain Payable" || goto mydomainAccountsPayable
ifmember "mydomain\mydomain Accounts Receivable" ||  goto mydomainAccountsReceivable
ifmember "mydomain\mydomain Authorized ETA" || goto mydomaindETA
ifmember "mydomain\mydomain Escheat" || goto mydomainescheat
ifmember "mydomain\mydomain Escrow Trust Accounting" || goto mydomainETA
ifmember "mydomain\mydomain Executive" || goto mydomainexecutive
ifmember "mydomain\mydomain GeneralLedger" || goto mydomainGeneralLedger
ifmember "mydomain\mydomain HR Related" || goto mydomainHumanResources
::if not a member of any of the above - goto global mapping
goto global

:mydomainAccounting
net use g: \\mydomain\accounting /persistent:no
net use j: \\mydomain\journal /persistent:no
net use m: \\mydomain\ap /persistent:no
net use r: \\mydomain\ar /persistent:no
net use l: \\mydomain\gl /persistent:no
goto global

:mydomainAccountsPayable
net use n: \\mydomain\ap /persistent:no
goto global

:mydomainAccountsReceivable
net use g: \\mydomain\accounting /persistent:no
net use r: \\mydomain\ar /persistent:no
net use t: \\mydomain\eta /persistent:no
goto global

:mydomaindETA
net use g: \\mydomain\accounting /persistent:no
net use t: \\mydomain\eta /persistent:no
net use z: \\mydomain\authorizedeta /persistent:no
goto global

:mydomainescheat
net use k: \\mydomain\1099 /persistent:no
net use n: \\mydomain\escheat /persistent:no
net use t: \\mydomain\eta /persistent:no
goto global

:mydomainETA
net use t: \\mydomain\eta
goto global

:mydomainexecutive
net use p: \\mydomain\legal
net use x: \\mydomain\executive
goto global

:mydomainGeneralLedger
net use g: \\mydomain\accounting
net use j: \\mydomain\journal
net use l: \\mydomain\gl
net use m: \\mydomain\ap
net use r: \\mydomain\ar
goto global

:mydomainHumanResources
net use f: \\mydomain\apps
net use g: \\mydomain\accounting
net use i: \\mydomain\installs
net use o: \\mydomain\hr
net use y: \\mydomain\payrollhr
net use u: \\mydomain\everyone
goto global

:global
net use U: \\mydomain\everyone /persistent:no
net use I: \\mydomain\installs /persistent:no

exit

***Credit to Sirbounty for the bat file***

Answer : Using "ifmember" to map network drives for users in multiple groups.

Hello again! :^)

You'll need to 'call' those subsections if you want to continue testing:
I changed the goto's to call's...execution should return and process the subsequent tests.... I also changed all the section goto globals to goto :eof (since goto global is the 'final' execution...)


::test for membership - goto appropriate group
ifmember "mydomain\mydomain Accounting" || call :mydomainAccounting
ifmember "mydomain\mydomain Payable" || call :mydomainAccountsPayable
ifmember "mydomain\mydomain Accounts Receivable" ||  call :mydomainAccountsReceivable
ifmember "mydomain\mydomain Authorized ETA" || call :mydomaindETA
ifmember "mydomain\mydomain Escheat" || call :mydomainescheat
ifmember "mydomain\mydomain Escrow Trust Accounting" || call :mydomainETA
ifmember "mydomain\mydomain Executive" || call :mydomainexecutive
ifmember "mydomain\mydomain GeneralLedger" || call :mydomainGeneralLedger
ifmember "mydomain\mydomain HR Related" || call :mydomainHumanResources
::if not a member of any of the above - goto global mapping
goto global

:mydomainAccounting
net use g: \\mydomain\accounting /persistent:no
net use j: \\mydomain\journal /persistent:no
net use m: \\mydomain\ap /persistent:no
net use r: \\mydomain\ar /persistent:no
net use l: \\mydomain\gl /persistent:no
goto :eof

:mydomainAccountsPayable
net use n: \\mydomain\ap /persistent:no
goto :eof

:mydomainAccountsReceivable
net use g: \\mydomain\accounting /persistent:no
net use r: \\mydomain\ar /persistent:no
net use t: \\mydomain\eta /persistent:no
goto :eof

:mydomaindETA
net use g: \\mydomain\accounting /persistent:no
net use t: \\mydomain\eta /persistent:no
net use z: \\mydomain\authorizedeta /persistent:no
goto :eof

:mydomainescheat
net use k: \\mydomain\1099 /persistent:no
net use n: \\mydomain\escheat /persistent:no
net use t: \\mydomain\eta /persistent:no
goto :eof

:mydomainETA
net use t: \\mydomain\eta
goto :eof

:mydomainexecutive
net use p: \\mydomain\legal
net use x: \\mydomain\executive
goto :eof

:mydomainGeneralLedger
net use g: \\mydomain\accounting
net use j: \\mydomain\journal
net use l: \\mydomain\gl
net use m: \\mydomain\ap
net use r: \\mydomain\ar
goto :eof

:mydomainHumanResources
net use f: \\mydomain\apps
net use g: \\mydomain\accounting
net use i: \\mydomain\installs
net use o: \\mydomain\hr
net use y: \\mydomain\payrollhr
net use u: \\mydomain\everyone
goto :eof

:global
net use U: \\mydomain\everyone /persistent:no
net use I: \\mydomain\installs /persistent:no

exit
Random Solutions  
 
programming4us programming4us