Function IsInGroup(strUserName As String, strUserGroup) as boolean'
GetRecordset strUserName ' Eigene Funktion - Das Objekt wird gesucht, wo CN = Benutzernamen ist.
x = 0 ' Zähler für Anzahl der Datensätze auf "0" setzen
Count = 1
' ----- Das Ergebnis der SQL-Abfrage wird abgearbeitet (Die Anzahl der Datensätze kann nur 1 sein)
Do Until rst.EOF
x = x + 1 ' Ist "rst" nicht LEER - wurde der übergebene Benutzername von "GetRecordset" gefunden. x wird um 1 erhöht
' ----- Auf das Benutzerobjekt zugreifen
Err.Clear
ADUserPath = rst.Fields("adspath") ' Im Ergebnis der SQL-Abfrage liefert das Feld "adspath" den Pfad, um auf einen bestimmten User zuzugreifen
Set ADAccount = GetObject(ADUserPath) ' Auf das AD-Objekt des Benutzers wird zugegriffen
If Err.Number <> 0 Then
'GetADEntry = strUserName & " Fehler: Objekt des SQL-Abfrageergebnisses nicht gefunden - " & Err.Number & "/" & Err.Description
MsgBox "Fehler: Objekt des SQL-Abfrageergebnisses nicht gefunden!"
Exit Function
End If
Err.Clear
' ----- Ende: Auf das Benutzerobjekt zugreifen
'On Error Resume Next
<----- An dieser Stelle dann ADAccount.memberof nach der gesuchten Gruppe durchsuchen, Rückgabewert setzen und Funktion beenden ----->
Err.Clear
' ----- Ende: Das Benutzerkonto wird geprüft
' ----- der nächste Datensatz des Ergebnisses wird gelesen
rst.MoveNext
' ----- Ende: der nächste Datensatz des Ergebnisses wird gelesen
Loop
' ----- Ende: Das Ergebnis der SQL-Abfrage wird abgearbeitet (Die Anzahl der Datensätze kann nur 1 sein)
' ----- Ist x = 0 hat die SQL-Abfrage kein Ergebnis geliefert - der übergebene Benutzername wurde von "GetRecordset" nicht gefunden
If x = 0 Then
GetADEntry = strUserName & " Fehler: Das SQL-Abfrageergebnis ist leer"
Exit Function
End If
' ----- Ende: Ist x = 0 hat die SQL-Abfrage kein Ergebnis geliefert - der übergebene Benutzername wurde von "GetRecordset" nicht gefunden
' ----- Leeren der Variablen
Set ADAccount = Nothing
' ----- Ende: Leeren der Variablen
End Function