Marco_AC 10 Geschrieben 20. September 2004 Melden Teilen Geschrieben 20. September 2004 Hallo, ich suche eine Möglichkeit per Script den eingeloggten User (Username) eines Rechners im Netzwerk herauszufinden. Gibt es da irgendeine Möglicheit - habe mich schon halb tot gesucht - bin daher über jeden brauchbaren Hinweis froh. Zitieren Link zu diesem Kommentar
Gigi 10 Geschrieben 20. September 2004 Melden Teilen Geschrieben 20. September 2004 auf der kommandozeile gibts den befehl set. da steht mal die uservariable drin. weiss aber nicht, ob dir das was hilft ... Zitieren Link zu diesem Kommentar
mahn 10 Geschrieben 21. September 2004 Melden Teilen Geschrieben 21. September 2004 hi mit einem vb script geht das so: strComputer = "RemoteComputer" Set objWMIService = GetObject("winmgmts:" _ & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2") Set colComputer = objWMIService.ExecQuery _ ("Select * from Win32_ComputerSystem") For Each objComputer in colComputer Wscript.Echo objComputer.UserName Next wobei RemoteComputer der PC ist den du überprüfen willst Zitieren Link zu diesem Kommentar
Gast schmchris Geschrieben 22. September 2004 Melden Teilen Geschrieben 22. September 2004 Hier ein Vorschlag Start / Programme / Zubehör / Systemprogramme / Systeminformationen Ansicht / Remotecomputer System Summary / Benutzername Zitieren Link zu diesem Kommentar
Marco_AC 10 Geschrieben 22. September 2004 Autor Melden Teilen Geschrieben 22. September 2004 Hallo, Danke an mahn - das funktioniert recht gut Alledings zwei Fragen 1.) VBScript ist aber im Moment noch Neuland bei mir (wird aber schon) - kann ich den ermittelten Usernamen mit einem anderen der sich gerade an Rechner 2 anmelden will vergliehen ? (da cconnect nicht mehr unter Windows 2003 läuft will ich mir was eigenes basteln um einen doppleten Login zu vermeiden - bei einer Handvoll Rechner und User sollte die Möglichkeit gehen). 2.) gibt es eine Möglickeit ohne VBS über Batchfile? Kannst du mir vielleicht eine gute adresse oder literatur über vbs nennen die recht schnell und einfach zu verstehen ist ? an schmchris was genau meinst Du ? Danke an alle Zitieren Link zu diesem Kommentar
detzi 10 Geschrieben 22. September 2004 Melden Teilen Geschrieben 22. September 2004 Original geschrieben von Marco_AC kann ich den ermittelten Usernamen mit einem anderen der sich gerade an Rechner 2 anmelden will vergliehen ? [/b] schreib doch einfach den usernamen beim einloggen am rechner A in eine Datenbank (oder in ein Textfile) und vergleiche beim anmelden, ob der username schon in der datenbank vorhanden ist. beim abmelden löscht du einfach den eintrag. Original geschrieben von Marco_AC Kannst du mir vielleicht eine gute adresse oder literatur über vbs nennen die recht schnell und einfach zu verstehen ist ? Ich weiß ja nicht wie gut du programmiertechnisch drauf bist, aber lade dir mal das runter: http://www.microsoft.com/downloads/details.aspx?FamilyId=01592C48-207D-4BE1-8A76-1C4099D7BBB9&displaylang=en Ist meiner Meinung nach eine ganz gute Doku. Zitieren Link zu diesem Kommentar
rbtux 10 Geschrieben 22. September 2004 Melden Teilen Geschrieben 22. September 2004 Das mit dem Benutzernamen in das Textfile oder DB würde ich nicht empfehlen. Wenn du aus einem Grund nich richtig abgemeldet wirst (zb. Absturz, Netzwerküberlastung, etc.) ist der Name immer noch in der Liste und das System hat das Gefül man ist immer noch angemeldet Zitieren Link zu diesem Kommentar
knoffhoff 10 Geschrieben 5. Oktober 2004 Melden Teilen Geschrieben 5. Oktober 2004 Mahlzeit, ich habe auch ein ähnliches problem! Die Lösung, die detzi hier geschrieben hat, ist eigentlic hschon des rätsels lösung für mich. Aber wie genau kann ich in der Batch verarbeitung eingeben, dass er den %USERNAME% in eine DB auf einen anderen Rechenr im Netzwerk schreibt? Gibt es hier auch eine Art INSERT INTO Möglichkeit? Oder müsste ich das mit einen Anderen Script machen? Irgendwelche denkanstöße für mich? Gruß, Knoffhoff Zitieren Link zu diesem Kommentar
lefg 276 Geschrieben 5. Oktober 2004 Melden Teilen Geschrieben 5. Oktober 2004 Hallo, ich kann mir eine Login-Script-Lösung vorstellen. Mit PsLoggedOn aus den PsTools von Sysinternal.com werden die Anmeldungen am Server ausgelesen. Leider geht das nur für Rechner, nicht für die Domäne. Bei mehreren Servern müssen die einzeln abgefragt werden. Dann erfolgt eine Auswertung mit Textiteration for /f. Bei positiven Ergebnis wird der User mit Logout oder Logoff aus dem RK wieder abgemeldet. Der ganze Prozess kann natürlich erst nach der Anmeldung geschehen. Aber das zwangsweise Ausloggen wird den Benutzern die "Lust" zur Doppelanmeldung nehmen. Gruß Edgar Zitieren Link zu diesem Kommentar
knoffhoff 10 Geschrieben 6. Oktober 2004 Melden Teilen Geschrieben 6. Oktober 2004 aha soweit ist alles klar. kann dann einfach eine .bat datei erstellen mit folgendem inhalt: ++++++++++++++++++++++++++++++++++++++ if psloggedon username == testuser goto test :test xxxxx goto END :END +++++++++++++++++++++++++++++++++++++++ sehe ich das richtig? Aber was muß dann in der anweisung für :test stehen um z.B. den anmeldenamen in eine DB-Tabelle schreiben? ich wollte halt für unsere Zentrale im Intranet eine Seite machen in der Sie anhand einer kleinen Grafik (grün und Rot) sehen können, ob ein Mitarbeiter ANgemeldet ist oder nicht bzw. ob er überhaupt in der Firma ist. Zitieren Link zu diesem Kommentar
lefg 276 Geschrieben 6. Oktober 2004 Melden Teilen Geschrieben 6. Oktober 2004 Hallo, nein, so geht das wohl nicht. Wäre mir neu. Mit psloggedon \\servername wird eine Liste der logged user ausgegeben. Diese kann man erst einmal eine Datei schreiben. psloggedon \\servername > :\userlog.txt Deren Inhalt kann so aussehen. PsLoggedOn v1.31 - Logon Session Displayer Copyright (C) 1999-2003 Mark Russinovich Sysinternals - [url]www.sysinternals.com[/url] Connecting to Registry of \\1fs-lubeca... Users logged on locally: 02.10.2004 14:31:16 LUBECA\Administrator Users logged on via resource shares: 06.10.2004 10:48:23 LUBECA\USER1 06.10.2004 10:47:59 LUBECA\USER2 06.10.2004 10:54:15 LUBECA\USER3 06.10.2004 10:49:38 LUBECA\USER4 06.10.2004 10:50:11 LUBECA\USER4 06.10.2004 10:50:31 LUBECA\USER5 06.10.2004 10:50:54 LUBECA\USER6 06.10.2004 10:54:06 LUBECA\USER7 06.10.2004 10:54:39 LUBECA\USER8 Die Liste muß nun zeilenweise ausgewertet werden. Kennst Du dich mit Textiteration der For-Schleife aus? for /f %%i in (c:\userlog.txt) do echo %%i Die Schleife gibt den ersten Block jeder Zeile aus. Das Besondere ist, die Schleife hält nicht an. Sie arbeitet bis zum Ende. Schreibt man die Ausgabe in eine Datei, steht darin nur der erste Block der letzten Zeile. code] for /f %%i in (c:\userlog.txt) do echo %%i > c:\dump.txt In dump.txt steht: 06.10.2004 Mit der Blockoption Tokens und dem Wildcard * wird die ganze Zeile ausgegeben. for /f "tokens=*" %%i in (c:\userlog.txt) do echo %%i > c:\dump.txt 06.10.2004 10:54:39 LUBECA\User8 Die Zeile besteht aus drei Blöcken. Zitieren Link zu diesem Kommentar
knoffhoff 10 Geschrieben 6. Oktober 2004 Melden Teilen Geschrieben 6. Oktober 2004 Alles klar, ich danke dir dafür. dann werd ich mal gucken dass ich per task die .txt datei in die datenbank importiere und anschliessend stündlich ersetze. Das sollte reichen. textiteration? Textwiederholung? also in sachen "batch-programmierung" bin ich völlig unwissend. abegeshen von den standard befehlen. for-schleifen kenn ich von java oder c. 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? Zitieren Link zu diesem Kommentar
lefg 276 Geschrieben 6. Oktober 2004 Melden Teilen Geschrieben 6. Oktober 2004 Ich bin gerade gut drauf und habe Lust zum Entwickeln. Wir brauchen zum Vergleich nur den 3. Block. for /f "tokens=3" %%i in (c:\userlog.txt) do echo %%i > c:\dump.txt Das Ergebnis ist: LUBECA\User8 Zitieren Link zu diesem Kommentar
lefg 276 Geschrieben 6. Oktober 2004 Melden Teilen Geschrieben 6. Oktober 2004 Dann machen wir mal eine Vergleichsoperation. for /f "tokens=3" %%i in (c:\userlog.txt) do if %%i"==LUBECA\User8" echo 1 Als Ergebnis wird die 1 ausgegeben. Zitieren Link zu diesem Kommentar
lefg 276 Geschrieben 6. Oktober 2004 Melden Teilen Geschrieben 6. Oktober 2004 Schauen wir uns das mal mit User5 an. for /f "tokens=3" %%i in (c:\userlog.txt) do if %%i"==LUBECA\User5" echo 1 Die 1 wird zwischendurch ausgegeben, die Schleife aber bis zum Ende geführt. 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.