Jeg har bikset et lille eksempel sammen til formålet:
Option Explicit
Dim arrGroups
arrGroups = Split(GetGroupMemberships(), ",")
Dim intCounter
For intCounter = 0 to Ubound(arrGroups)
If arrGroups(intCounter) = "ADAdmins" Then
Dim objNetwork
Set objNetwork = WScript.CreateObject("WSCript.Network")
objNetwork.MapNetworkDrive "R", "\\fileserver\RestrictedGroupMembers"
End If
Next
' *************************************************
' Hent grupper for bruger
' *************************************************
Function GetGroupMemberships()
Dim objNetwork, strDomain, strUser, objUser, objGroup, strGroups
Set objNetwork = CreateObject("WScript.Network")
strDomain = objNetwork.UserDomain
strUser = objNetwork.UserName
Set objUser = GetObject("
WinNT://" & strDomain & "/" & strUser)
For Each objGroup In objUser.Groups
If objGroup.Name <> "Domain Users" Then
strGroups = strGroups & objGroup.Name & ","
End If
Next
GetGroupMemberships = strGroups
End Function
-------------------------------------------------------
Det første der sker er, at returværdien fra funktionen splittes op ud fra "," og lægges i et array.
Funktionen gennemløber gruppemedlemskaberne for en bruger og lægger dem sammen i en string adskilt af "'".
Så gennemløbes array'et i en løkke, hvor der testes på om brugeren er medlem af den givne gruppe, og hvis personen er det mappes netværksdrevet.
Håber du kan få glæde af det seme svar.