Jump to content

per Script Username abfragen


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

Empfohlene Beiträge

Geschrieben

Es wird also eine Möglichkeit zum Beenden der Schleife beim Erreichen des gewünschten Ergebnisses benötigt.

 

Durch Anhängen von GOTO mit dem Sprungziel OUT mittels der Verknüpfung & wird das erreicht.

 

for /f "tokens=3" %%i in (c:\userlog.txt) do if %%i"==LUBECA\User5" echo 1 & goto out
:out

 

Ich mache jetzt erstmal Mittag.

Geschrieben
Original geschrieben von knoffhoff

Verstehe ich dich richtig, wenn du mir damit sagen willst, dass ich die liste in einer for schleife ständig nach "testuser" oder anderen inhalten/usernamen abfragen soll?

 

Nein, das ist ja nicht nötig. Das geschieht im Loginscript. Und dann wird der User abgemeldet.

 

Bis später.

Geschrieben

hehe, na dann mal guten hunger :)

 

scheinst heute echt richtig gute laune zu haben wa?!?!

bis hierhin hab ich alles verstanden! nur ein paar kleine "Syntax" fragen hätte ich:

warum wird das % immer 2mal vor das i gehängt und warum benötige ich die echo 1 Ausgabe?

 

Aber lass es dir erstma schmecken. Werd jetzt auch erstma ins Schnitzel beissen :D

Geschrieben

Die %% sind in einer Batch nötig, an der Eingabeaufforderung nur %. Warum weiss ich nicht mehr.

 

Die Echoausgabe ist nur zum Testen ob die Bedingung erfüllt.

 

Wir kommen gleich einen kritischen Punkt. Möglicherweise bleiben wir dort stecken und müssen umdenken. Ich entwickle das hier sozusagen on-the-fly.

 

Bei der Vergleichsoperation wird der Term User5 durch die Variable %username% ersetzt. Darin steht der Name des am Rechner angemeldeten Benutzers. Leider steht dieser in Kleinbuchstaben, in der Liste von PsLoggedOn in Großbuchstaben. Damit wird der Vergleich nicht erfüllt.

 

for /f "tokens=3" %%i in (c:\userlog.txt) do if %%i==LUBECA\%username% echo 1 & goto out
:out

 

Jetzt muß man wohl bei PsLoggedOn schauen, ob die Ausgabe in Kleinbuchstaben möglich ist. Oder ob es bei der Vergleichsoperation einen Schalter gibt

Geschrieben

Und damit stecke ich fest. Ich kenne bei Batches keine reguläre Möglichkeit zum Wandeln von Klein- in Großbuchstaben. Möglicherweise kann man per Registryeintrag den Variableninhalt beinfussen. Oder man schreibt das Ganze in einer höheren Programmsprache.

 

Ich will jetzt mal einen Versuch machen. Dazu melde ich mich ab.

Geschrieben

Wollen wir gleich mal sehen.

 

Das Programm sieht jetzt so aus.

 

c:\PsLoggedOn.exe \\1fs-Lubeca > c:\userlog.txt

for /f "tokens=3" %%i in (c:\userlog.txt) do if %%i==LUBECA\LEFG c:\logoff.exe /f /n

Mit der logoff.exe aus dem RK wird der user abgemeldet.

Geschrieben

Das klappt wunderbar. Das mit if /i war regelrecht verschüttet. Naja, das Alter und der Gerstensaft. :)

 

c:\PsLoggedOn.exe \\1fs-Lubeca > c:\userlog.txt

for /f "tokens=3" %%i in (c:\userlog.txt) do if /i  %%i==LUBECA\%username% c:\logoff.exe /f /n

 

Ich weiss nur nicht, wie praktikabel die Methode bei einer grossen Benutzermenge und vielen Server ist. Das muss wohl man austesten.

Geschrieben

Vermeiden wir das Einlesen in eine Textdatei und deren Auswertung. Das Beschleunigt die Sache wesendlich.

 

for /f "tokens=3" %%i in ('c:\PsLoggedOn.exe \\1fs-Lubeca') do if /i  %%i==LUBECA\%username% c:\logoff.exe /f /n

 

Ich glaube, damit haben wir es geschafft.

 

Viel Erfolg

 

Edgar

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