| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 
 | 'Group Drive Mappings Script
 
Const HKEY_CURRENT_USER = &H80000001
 
Dim WshNetwork, WshShell
Dim oDrives, fUser, fDomain, oGroupDict
Dim ScriptLogName
 
ScriptLogName = "_LoginScript.log"
 
Set WshNetwork = WScript.CreateObject("WScript.Network")
Set WshShell = WScript.CreateObject("WScript.Shell")
Set oDrives = WshNetwork.EnumNetworkDrives
'Set fso = WScript.CreateObject("Scripting.FileSystemObject")
'Set inputFile = fso.OpenTextFile(fTMP & "\" & ScriptLogName, 2, True)
 
fTMP = WshShell.ExpandEnvironmentStrings("%TEMP%")
WshShell.ExpandEnvironmentStrings("%COMPUTERNAME%")
 
'WriteLog(Now() & ": ****** Start Login Script ******")
 
fUser = WshNetwork.UserName
fDomain = WshNetwork.UserDomain
 
'****** Group Drives ******
'WriteLog("Starting personal drive mapping")
MapDrive "P:", "\\snoopy\" & wshNetwork.Username
 
'WriteLog("Starting Group Script Area")
 
if isMember("eqp-gestion") then
	MapDrive "G:", "\\snoopy\Gestion"
end if
 
'***** use elseif for mapping multiple groups to the same share*******
'if isMember("IT Infrastructure") then
'MapDrive "S:", "\\server\it"
'elseif isMember("Helpdesk Staff") then
'MapDrive "S:", "\\server\it"
'elseif isMember("Data Services") then
'MapDrive "S:", "\\server\it"
'end if
 
'WriteLog("Ending Group Script Area")
 
 
'WriteLog(Now() & ": ****** Login Script Complete ******")
'WriteLog("")
 
Function IsMember(sGroup)
Dim sAdsPath, oUser, oGroup
 
If IsEmpty(oGroupDict) Then
Set oGroupDict = CreateObject("Scripting.Dictionary")
oGroupDict.CompareMode = vbTextCompare
 
sAdsPath = WshNetwork.UserDomain & "/" & WshNetwork.UserName
Set oUser = GetObject("WinNT://" & sAdsPath & ",user")
 
For Each oGroup In oUser.Groups
oGroupDict.Add oGroup.Name, "-"
Next
Set oUser = Nothing
End If
IsMember = CBool(oGroupDict.Exists(sGroup))
if (IsMember) then
'WriteLog(Now() & " User is member of " & sGroup)
end if
 
End Function
 
Sub MapDrive(sLetter,sUNC)
Dim oNetwork
Set oNetwork = WScript.CreateObject("WScript.Network")
For i = 0 to oDrives.Count -1 Step 2
if LCase(sLetter) = LCase(oDrives.Item(i)) then
oNetwork.RemoveNetworkDrive sLetter, true, true
'WriteLog(Now() & ": Removed drive """ & sLetter & """ from share """ & sUNC & " (already connected) " & "")
end if
Next
oNetwork.MapNetworkDrive sLetter,sUNC
If Err.Number = 0 Then
'WriteLog(Now() & ": Connect """ & sLetter & """ to share """ & sUNC & """")
else
'WriteLog(Now() & ": Failed to Connect """ & sLetter & """ to share """ & sUNC & """")
end if
on error goto 0
End Sub
 
sub WriteLog(strEntry)
inputFile.WriteLine(strEntry)
End Sub | 
Partager