Greetings,
I am writing a logon script for our domain users and have run into a
roadblock. I am trying to figure out how to use RemoveNetworkDrive in a Sub
rather than have it check every drive mapping. Here is what I have so far,
without a RemoveNetworkDrive entry:
Option Explicit
Dim objNetwork, objUser, CurrentUser
Dim strGroup, strDomain, strUser, strUNCPath
Dim bIsMember
Dim objGroup, objNet
'Map P: Drive (Public access share)
'Map H: Drive (Home Folder)
On Error Resume Next
If IsMemberOf("Domain Users") Then
MapDrive "P:","\\Test\Public"
End If
If IsMemberOf("Domain Users") Then
MapHomeDrive "H:","\\Test\Home"
End If
If Err <> 0 Then
MsgBox "Server not available; one or more drives were not mapped."
End If
On Error Goto 0
'------------------------------------------------------------------'
'FUNCTIONS '
'------------------------------------------------------------------'
Sub MapDrive(strLetter, strUNC)
Set objNet = WScript.CreateObject("WScript.Network")
objNet.MapNetworkDrive strLetter, strUNC
End Sub
Sub MapHomeDrive(strLetter, strUNCPath)
Set objNet = WScript.CreateObject("WScript.Network")
strUser = objNetwork.UserName
objNet.MapNetworkDrive strLetter, strUNCPath & "\" & strUser
End Sub
Function IsMemberOf(strGroupName)
Set objNetwork = CreateObject("WScript.Network")
strDomain = objNetwork.UserDomain
strUser = objNetwork.UserName
bIsMember = False
Set objUser = GetObject("WinNT://" & strDomain & "/" & _
strUser & ",user")
For Each objGroup In objUser.Groups
If objGroup.Name = strGroupName Then
bIsMember = True
Exit For
End If
Next
IsMemberOf = bIsMember
End Function