NiKaro127

Map AD network drive for non-AD Computer

Jan 28th, 2013
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. '========================================================================
  2. ' Connexion de lecteurs réseau via domaine AD
  3. ' Auteur : Nicolas KAROLAK
  4. ' Date : 28/01/2013
  5. ' Description : Permet de connecter des lecteurs réseau d'un domaine AD
  6. '       sur un poste non joint au domaine.
  7. '========================================================================
  8.  
  9. Option Explicit
  10. On Error Resume Next
  11.  
  12. '========================================================================
  13. ' Déclaration de variable et objets
  14. '========================================================================
  15.  
  16. Const ADS_SECURE_AUTHENTICATION = 1
  17. Const ADS_USE_ENCRYPTION = 2
  18. Dim objWshNetwork, objWshShell, objNS, objUser, objGroup
  19. Dim strDomain, strServer, strUser, strPass, strLength, strClasse
  20.  
  21. '========================================================================
  22. ' Début du programme
  23. '========================================================================
  24.  
  25. ' Création des objets
  26. Set objWshNetwork = CreateObject("WScript.Network")
  27. Set objWshShell = CreateObject("WScript.Shell")
  28. ' Demander le nom d'utilisateur
  29. strUser = InputBox("Veuillez entrer votre nom d'utilisateur :","Login")
  30. ' Demander le mot de passe
  31. strPass = InputBox("Veuillez entrer votre mot de passe :","Password")
  32. ' Domaine AD
  33. strDomain = "STN"
  34. ' URL du server
  35. strServer = "srv92-dc01.stn.lan"
  36.  
  37. ' Récupération des objets AD
  38. Set objNS = GetObject("WinNT:")
  39. Set objUser = objNS.OpenDSObject("WinNT://" & strDomain & "/" & strUser, strUser, strPass, ADS_SECURE_AUTHENTICATION Or ADS_USE_ENCRYPTION)
  40.  
  41. ' Parcourir les groupes auquels appartient l'utilisateur
  42. For Each objGroup In objUser.Groups
  43.     ' S'il appartient à un groupe élève
  44.     If InStr(objGroup.Name, "_e") Then
  45.         ' Récupérer le nom de la classe
  46.         strLength = Len(objGroup.Name) - 2
  47.         strClasse = Left(objGroup.Name, strLength)
  48.         ' Connecter le dossier commun de la classe
  49.         objWshNetwork.MapNetworkDrive "S:", "\\" & strServer & "\share\Data\Users\eleves\" & strClasse & "\_commun",False,strUser,strPass
  50.         ' Connecter le répertoire personnel
  51.         objWshNetwork.MapNetworkDrive "P:", "\\" & strServer & "\share\Data\Users\eleves\" & strClasse & "\" & strUser,False,strUser,strPass
  52.     End If
  53.     ' S'il appartient au groupe profs
  54.     If objGroup.Name = "Profs" Then
  55.         ' Connecter le dossier commun des profs
  56.         objWshNetwork.MapNetworkDrive "S:", "\\" & strServer & "\share\Data\Users\profs\_commun",False,strUser,strPass
  57.         ' Connecter le répertoire des élèves
  58.         objWshNetwork.MapNetworkDrive "L:", "\\" & strServer & "\share\Data\Users\eleves",False,strUser,strPass
  59.         ' Connecter le répertoire personnel
  60.         objWshNetwork.MapNetworkDrive "P:", "\\" & strServer & "\share\Data\Users\profs\" & strUser,False,strUser,strPass
  61.     End If
  62. Next
Advertisement
Add Comment
Please, Sign In to add comment