Jump to content

Benutzer über eine Batch-Datei auslesen


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

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??

:confused:

 

Ü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....

Link zu diesem Kommentar

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?

Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...