Batch Programmierung User in OU abfragen

Tommi

Grünschnabel
Hallo zusammen,

ich wollte prüfen ob ein User in einer bestimmten OU ist und dann die entsprechenden Aktionen starten. Ich habe angefangen indem ich die OU des Users auslese mit folgendem:
for /f "delims=, tokens=1-6 " %%a in ('dsquery user -name %username%') do set var = %%a

Wenn ich mir die Varialble "var" ausgeben lasse, dann bekomme ich folgendes:
"OU=Berlin,OU=Stadt,OU=Land,DC=AD,DC=Firma,DC=DE"

Und nun kommt mein Problem wo ich nicht weiter komme. Ich würde gerne in dieser Variablen nach dem Lang suchen. Das heißt z.B. wenn das Land "BRD" ist dann soll das Programm zur Funktion "BRD" springen. Das mache ich mit einem GOTO, aber ich weiß nicht wie ich die einzelnen Daten in der Variablen auslesen kann. Am liebsten wäre mir wenn ich eine Zeichenkette auslesen könnte, also z.B. BRD.
Habt Ihr eine Idee?
Schon mal vielen Dank im Voraus.
Viele Grüße
Tommi
 

HonniCilest

Erfahrenes Mitglied
Also ein kleiner Dummy hat bei mir so funktioniert:
Code:
@echo off
for /f "tokens=3 delims=, " %%a in ("OU=Berlin,OU=Stadt,OU=LAND,DC=AD,DC=Firma,DC=DE") do set var=%%a
set var=%var:~3%
goto %var%

:BRD
echo 1
goto Ende
:LAND
echo 2
goto Ende

:Ende
pause

Versteh das Problem sonst weiter nicht.
 

Tommi

Grünschnabel
Hallo HonniCilest,

erst mal vielen Dank für Deine Antwort. Nach Deinem Script sucht er nach dem 3. Wert "von Links" in diesem Fall also BRD. Ist es auch möglich das man "von Rechts" die Suche anfängt? Wenn sich das AD weiter entwickelt dann kommen mehr OU´s unter der BRD-OU zu Stande und dann stimmt der Wert nicht mehr, deswegen wäre es am besten man fängt die Suche von der Seite "DC=DE" an.
Vielen Dank und viele Grüße
Tommi