Gruppenmitgliedschaften des Windows Users auslesen und je nach Bedingung resourcen mapen

  • Hi all,

    ich habe da mal wieder eine Frage an die AUTOIT Profis.

    Ich ermittle mittels dnsquery und dnsget die jeweilige (Win)Gruppenmitgliedschaften des aktuell angemeldeten Users und schreibe das Ergebnis in eine Datei
    (zumindest erst einmal)

    Das Ergebnis, die Datei sieht so aus (z.B.)
    "CN=Grp_Sec_MSHQSCRIPT01_OITi_Leser,OU=MSHQSCRIPT01,OU=09-SonderGruppen,OU=80-Gruppen,DC=XXX,DC=XXX,DC=net"
    "CN=Grp_Mig_VF-DE_Export,OU=OIT-VF-DE-Migrationssteuerung,OU=09-SonderGruppen,OU=80-Gruppen,DC=XXX,DC=XXX,DC=net"
    "CN=Grp_Sec_Arcor_Alle,OU=02-FunktionsGruppen,OU=80-Gruppen,DC=XXX,DC=XXX,DC=net"
    "CN=Grp_Sec_Anw_Arcor_TTT_read,OU=07-Anwendungsgruppen,OU=80-Gruppen,DC=XXX,DC=XXX,DC=net"
    "CN=Grp_LGM_ADM_GNP5630,OU=05-ClientLocalAdminGruppen,OU=80-Gruppen,DC=XXX,DC=XXX,DC=net"
    "CN=Grp_LGM_PotLokAdm,OU=05-ClientLocalAdminGruppen,OU=80-Gruppen,DC=XXX,DC=XXX,DC=net"
    "CN=Dom„nen-Benutzer,CN=Users,DC=XXX,DC=XXX,DC=net"

    Wenn der User Mitglied einer definierten Gruppe XYZ ist dann soll z.B. ein zusätzliches LW gemappt werden oder
    wenn der User auch noch Mitglied einer zweiten definierten Gruppe soll z.B. ein DesktopLink erzeuget werden
    (die Mimik des Mappens bzw. die Erstellung des DesktopLinks läuft schon)

    Wie schaffe ich es diese IF Bedingungen aus der Datei zu ermitteln bzw. gibt es einen eleganteren Weg als den Umweg über eine temp. Datei diese
    Bedingungen zu ermitteln


    FileInstall(".\dsquery.exe", @TempDir & "\dsquery.exe")
    FileInstall(".\dsquery.dll", @TempDir & "\dsquery.dll")
    FileInstall(".\dsget.exe", @TempDir & "\dsget.exe")

    RunWait(@ComSpec & " /c " & "%TEMP%\dsquery.exe user -samid %Username% | %TEMP%\dsget.exe user -memberof > %TEMP%\%Username%.txt")

    :?::?::?:

    Danke schon einmal im voraus

    Chris

    Einmal editiert, zuletzt von ugt100 (18. Dezember 2009 um 15:44)

  • Ja, es geht einfacher. Es gibt ein UDF für Active Directory Funktionen. Das Original (adfunctions.au3) findest Du hier.
    Das gerade in Arbeit befindliche "offizielle" UDF (mit Beispielen, Helpfile etc.) findest Du hier.
    In beiden Fällen gibt die Funktion _ADIsMemberOf bzw. _AD_IsMemberOf die gewünschte Info.

  • Hi Schnuecks ,

    genau die IFMEMBER.exe ist mein Problem.
    Diese funktioniert leider nicht auf allen unserer Clients, sodass
    aufgrund der Fehlerwahrscheinlichkeit dieses (leider) nicht verwendet werden soll.

    Trotzdem Danke für die Antwort


    Gruss
    Christoph

  • Hallo Water,

    Danke - das ist ja super. Dann brauche ich mir nicht die Finger brechen beim auseinandernhemn des Textfiles.

    Damit bekomme ich sicherlich die Kuh vom Eis

    Danke

    Gruss
    Chris :thumbup:

  • Hi GerhardSchr,

    schön, das du das gemacht hast. lässt DU uns/mich das auch mal sehen ?
    Leider finde ich keinen Link oder Code ...


    wäre nett

    Gruss
    Chris

    Danke schon einmal im voraus