fortune
Junior Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Dim WSHNetwork Dim FSO Dim strUserName ' Current user Dim strUserDomain ' Current User's domain name Dim ObjGroupDict ' Dictionary of groups to which the user belongs Set WSHNetwork = WScript.CreateObject("WScript.Network") Set FSO = CreateObject("Scripting.FileSystemObject") strUserName = "" While strUserName = "" WScript.Sleep 100 ' 1/10 th of a second strUserName = WSHNetwork.UserName Wend strUserDomain = WSHNetwork.UserDomain Const RootPath = "\\tokio\files$" Const StudentsPath = "\\tokio\files$\students" Const MaterialsPath = "\\tokio\files$\materials" Set ObjGroupDict = CreateMemberOfObject(strUserDomain, strUserName) Set oArgs=WScript.Arguments Set CheckDrive = WshNetwork.EnumNetworkDrives() On Error Resume Next AlreadyConnected = False For intDrive = 0 To CheckDrive.Count - 1 Step 2 If CheckDrive.Item(intDrive) = "L:" Then AlreadyConnected =True Next If MemberOf(ObjGroupDict, "Domain Admins") Then If AlreadyConnected = False Then WshNetwork.MapNetworkDrive "L:",RootPath & "\" & WshNetwork.UserName WshNetwork.MapNetworkDrive "M:",MaterialsPath WshNetwork.MapNetworkDrive "N:",StudentsPath WshNetwork.MapNetworkDrive "O:",RootPath End If If MemberOf(ObjGroupDict, "Teachers") Then If AlreadyConnected = False Then WshNetwork.MapNetworkDrive "L:",RootPath & "\teachers\" & WshNetwork.UserName WshNetwork.MapNetworkDrive "M:",MaterialsPath WshNetwork.MapNetworkDrive "N:",StudentsPath End If If MemberOf(ObjGroupDict, "Students") Then If AlreadyConnected = False Then WshNetwork.MapNetworkDrive "L:",RootPath & "\students\" & WshNetwork.UserName WshNetwork.MapNetworkDrive "M:",MaterialsPath End If If MemberOf(ObjGroupDict, "Persoanl Students") Then If AlreadyConnected = False Then WshNetwork.MapNetworkDrive "L:",RootPath & "\ps\" & WshNetwork.UserName End If Function MemberOf(ObjDict, strKey) MemberOf = CBool(ObjGroupDict.Exists(strKey)) End Function Function CreateMemberOfObject(strDomain, strUserName)' Dim objUser, objGroup Set CreateMemberOfObject = CreateObject("Scripting.Dictionary") CreateMemberOfObject.CompareMode = vbTextCompare Set objUser = GetObject("WinNT://" _ & strDomain & "/" _ & strUserName & ",user") For Each objGroup In objUser.Groups CreateMemberOfObject.Add objGroup.Name, "-" Next Set objUser = Nothing End Function | Всего записей: 117 | Зарегистр. 18-08-2004 | Отправлено: 20:17 08-11-2005 | Исправлено: fortune, 20:19 08-11-2005 |
|