AD Ausgabe der Gruppenmitglieder mit Namen und User ID

  • Hallo,

    ich muss ein Tool schreiben, wo die einzelnen Gruppenmitglieder einer Gruppe in der AD mit User ID, Vorname und Nachname ausgegeben werden sollen.

    Die Ausgabe der User ID war einfach nur wie kann ich den Vornamen und den Nachnamen ausgeben.

    Vielen Dank für die Hilfe

  • Sieh dir doch am besten mal die Active Directory UDF an
    hier oder auch hier

    Falls du hilfe brauchst solltest du auf jeden Fall immer dein Script posten. Sonst wissen wir ja nicht was du so treibst

  • [autoit]

    Dim $group = ObjGet('LDAP://cn=Lemon,ou=Becks,dc=Bier,dc=local')
    ConsoleWrite('Mitglieder der Gruppe "' & $group.cn & '" (' & $group.distinguishedName & ')' & @CRLF & @crlf)
    For $member In $group.Members
    ConsoleWrite(' Vorname: ' & $member.givenName & @CRLF)
    ConsoleWrite(' Nachname: ' & $member.sn & @CRLF)
    ConsoleWrite(' DN: ' & $member.distinguishedName & @CRLF)
    ConsoleWrite(' ------------------------------' & @CRLF)
    Next ; $member

    [/autoit]
  • Hallo,

    anbei ein Script welches ich öfters zum auslesen benutze!

    [autoit]


    #include <D:\Data\scripte\AD_1.3.0.0_Functions\AD.au3> ;Pfad zur AD.au3 muss angepasst werden

    [/autoit][autoit][/autoit][autoit]

    Global $aGroups[1], $aMembers[1], $aProperties[1][2]

    [/autoit][autoit][/autoit][autoit]

    ; Open Connection to the Active Directory
    _AD_Open()
    If @error Then Exit MsgBox(16, "Active Directory Example Skript", "Function _AD_Open encountered a problem. @error = " & @error & ", @extended = " & @extended)

    [/autoit][autoit][/autoit][autoit]

    ; Get a sorted list of members for the first group the currently logged on user is a member of
    $aMembers = _AD_GetGroupMembers("team-it") ; hier den AD gruppennamen eintragen AD-Gruppenname
    If @error > 0 Then
    MsgBox(64, "Active Directory Functions - Example 1", "The group has no members")
    Else
    _ArraySort($aMembers, 0, 1)
    _ArrayDisplay($aMembers, "Active Directory Functions - Example 1 - List of members for group")
    EndIf

    [/autoit][autoit][/autoit][autoit]

    For $i = 1 to $aMembers[0]

    [/autoit][autoit][/autoit][autoit]

    $sFQDN = _AD_SamAccountNameToFQDN()

    [/autoit][autoit][/autoit][autoit]

    $aMembers01 = _AD_FQDNToDisplayname($aMembers[$i])
    $sSamAccountName = _AD_FQDNToSamAccountName($aMembers[$i])

    $aProperties = _AD_GetObjectProperties($sSamAccountName)

    For $x = 1 to $aProperties[0][0]
    If $aProperties[$x][0] = "mail" then $mail = $aProperties[$x][1];MsgBox(0,"",$aProperties[$x][1])
    If $aProperties[$x][0] = "objectSid" then $sid = $aProperties[$x][1]
    Next

    [/autoit][autoit][/autoit][autoit]

    ;MsgBox(0,"", $aMembers01)
    ConsoleWrite($aMembers01 & ";"& $sSamAccountName & ";" & $mail & ";" & $sid & @CRLF)

    [/autoit][autoit][/autoit][autoit]

    Next

    [/autoit][autoit][/autoit][autoit]

    ; Close Connection to the Active Directory
    _AD_Close()

    [/autoit]

    gruß gmmg

  • Du kannst das ganze noch beschleunigen, indem Du _AD_GetobjectProperties nur um die benötigten Properties fragst.

    [autoit]

    $aProperties = _AD_GetObjectProperties($sSamAccountName, "mail,objectSid")

    [/autoit]