dclab
asked on
Add mapped network drives to computer search path
Greetings,
Back in the popular days of Novell NetWare, there was a nice ability to define 'search drives' in a login script. These were special network drive mappings that appeared as if they were in the local computer's PATH.
Therefore my first question would be: does anyone know of some equivalent app to use for Windows?
Assuming the answer of 'no', my next question is: can anyone provide some pointers on improving an existing script?
Enclosed is a script my predecessor used to accomplish the goal. I don't know VB myself, but I can follow along with what it's supposed to do. While the script does come close to what I need, it also has some drawbacks:
1. It doesn't seem to work on Vista workstations.
2. On some workstations it doesn't recognize that the script has been processed before. It's not uncommon to see a machine with these drives added three, four, sometimes even five times to the local PATH. Meanwhile other machines have the PATH set correctly.
3. I'd like the ability of removing these entries altogether when a user logs out from the LAN (mainly for people working offline). I know this would be a separate script, but I'm uncertain on how to do this.
I appreciate any advice you can offer. Thanks!
Back in the popular days of Novell NetWare, there was a nice ability to define 'search drives' in a login script. These were special network drive mappings that appeared as if they were in the local computer's PATH.
Therefore my first question would be: does anyone know of some equivalent app to use for Windows?
Assuming the answer of 'no', my next question is: can anyone provide some pointers on improving an existing script?
Enclosed is a script my predecessor used to accomplish the goal. I don't know VB myself, but I can follow along with what it's supposed to do. While the script does come close to what I need, it also has some drawbacks:
1. It doesn't seem to work on Vista workstations.
2. On some workstations it doesn't recognize that the script has been processed before. It's not uncommon to see a machine with these drives added three, four, sometimes even five times to the local PATH. Meanwhile other machines have the PATH set correctly.
3. I'd like the ability of removing these entries altogether when a user logs out from the LAN (mainly for people working offline). I know this would be a separate script, but I'm uncertain on how to do this.
I appreciate any advice you can offer. Thanks!
Const ForReading = 1
Dim WSHShell,strAutoLogon,strPassword,strNeed,MaybeneedW,MaybeneedX,MaybeneedY,MaybeneedZ
MaybeneedW=1
MaybeneedX=1
MaybeneedY=1
MaybeneedZ=1
strNeed=""
Set WSHShell = WScript.CreateObject("WScript.Shell")
strOrgPath = WSHShell.RegRead("HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment\path")
Searchpath=Split(strOrgPath,";")
y=UBound(Searchpath)
x=0
While x<=y
Wisthere=StrComp("W:\BIN\SETUP\",Searchpath(x),1)
Xisthere=StrComp("X:\BIN\PGM\",Searchpath(x),1)
Yisthere=StrComp("Y:\bin\src\",Searchpath(x),1)
Zisthere=StrComp("Z:\public\",Searchpath(x),1)
If Wisthere=0 then
MaybeneedW=0
End If
If Xisthere=0 then
MaybeneedX=0
End If
If Yisthere=0 then
MaybeneedY=0
End If
If Zisthere=0 then
MaybeneedZ=0
End If
x=x+1
Wend
If MaybeneedZ=1 Then
strNeed=strNeed&";Z:\public\"
End If
If MaybeneedY=1 Then
strNeed=strNeed&";Y:\bin\src\"
End If
If MaybeneedX=1 Then
strNeed=strNeed&";X:\BIN\PGM\"
End If
If MaybeneedW=1 Then
strNeed=strNeed&";W:\BIN\SETUP\"
End If
strNeed=Join(searchpath,";")&strNeed
WSHShell.RegWrite "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment\path", strNeed
WScript.Quit(0)
SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
Anyone else have some suggestions?