DoubleW 10 Geschrieben 16. Juli 2004 Melden Teilen Geschrieben 16. Juli 2004 Hallo, ich sitze hier seit Tagen schon vor folgendem Problem: Es besteht eine 2003er Serverumgebung mit NT4-Clients (aber auch XP...). Die Benutzer sind über AD verschiedenen Gruppen und Organisationseinheiten zugeordnet. Nun möchte ich über ein (Anmelde-)Skript auslesen, in welcher Organisationseinheit der jeweilige Benutzer ist (die Gruppenzugehörigkeit wird auch ermittelt, ist aber kein Problem) und ihm entsprechende Einstellungen verpassen..... Im Moment hänge ich an folgendem Befehl: dsquery user ou=Abteilung,dc=testnetz,dc=local -o dn -name %username% Hier frage ich also ab, ob der am Client angemeldete User auch Mitglied der OU ist. Das sollte auch so funktionieren, nur gehts hier nicht weiter, d.h. ich weiß nicht, wie ich "dsquery" auswerten soll. Ist der User nicht in der OU gibt "dsquery" nichts bzw. leer zurück. Ist er drin, kommt: cn=username,ou=PP,dc=testnetz1,dc=local -o dn -name. Hier bleib ich dann immer hängen..... Wie kann ich das Ergebnis auswerten?? Über einige Anregungen wäre ich sehr dankbar. Der Lösungsweg könnte auch sehr einfach sein (über Variable abfragen, ob Ergebnis leer oder nicht.....), nur fällt mir gar nix mehr ein.... Zitieren Link zu diesem Kommentar
fritzo 10 Geschrieben 16. Juli 2004 Melden Teilen Geschrieben 16. Juli 2004 Hi, versuch mal, dsquery auf einen Find-Befehl zu pipen : dsquery user ou=Abteilung,dc=testnetz,dc=local -o dn -name %username%* | find /i "%username%" && (@echo User ist in OU) || (@echo User ist nicht in OU) Grüße, Fritz Zitieren Link zu diesem Kommentar
white shark 10 Geschrieben 16. Juli 2004 Melden Teilen Geschrieben 16. Juli 2004 die antwort von fritzo ist vollkommen richtig, dem schließe ich mich an. damit sollte es gehen. white shark Zitieren Link zu diesem Kommentar
blub 115 Geschrieben 17. Juli 2004 Melden Teilen Geschrieben 17. Juli 2004 hi, hab gerade keinen richtigen Rechner vor mir. probier mal: wmic useraccount list brief oder wmic useraccount list full cu blub Zitieren Link zu diesem Kommentar
DoubleW 10 Geschrieben 19. Juli 2004 Autor Melden Teilen Geschrieben 19. Juli 2004 Hi, vielen Dank für die Anregungen. Konnte es am WE nicht ausprobieren, sitze aber jetzt wieder dran. Der Vorschlag von fritzo klappt wunderbar! Nur komme ich nicht sehr viel weiter (...oder ich verstehs einfach noch nicht). Die Auswertung von "User ist in OU" (oder nicht) soll ja z.B. über eine Softwareinstallation entscheiden. D.h., wenn der User in der OU ist, soll das Script die Installation eines MSI-Paketes anweisen, wenn nicht, ist das Script beendet. Mir fehlt also nur dieser kleine Schritt, dass "User ist in OU" "wahr" ist und die Softwareinstallation beginnt, ansonsten nicht. Kann ich das denn direkt aus der Abfrage dsquery user ou=Abteilung,dc=testnetz,dc=local -o dn -name %username%* | find /i "%username%" && (@echo User ist in OU) || (@echo User ist nicht in OU) entnehmen oder müsste ich eine weitere Abfrage damit verbinden? Und genau hier versage ich ständig.......... Den Vorschlag von blub prüfe ich gerade (wmic). Da muss ich mich erstmal reinfinden, da ich leider davon noch nie was gehört hab :wink2: Trotzdem danke erstmal!! EDIT: Da ich ja jetzt die Kombination mit "find" habe, könnte ich eine Abfrage über errorlevel machen? z.B. if not errorlevel 1 goto ENDE Möglich ist das, aber ist es auch richtig bzw. korrekt? Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.