lefg 276 Geschrieben 3. Juli 2007 Melden Teilen Geschrieben 3. Juli 2007 ....Eigentlich exakt was der OP wollte....es.Der Wunsch des TO ist:...den Befehl oder ein Skript, dass mir alle eingeschalteten Workstations mit den dort gerade angemeldeten Benutzern im Netzwerk auswirft.Und das erfüllt psloggedon aus meiner Sicht nicht. Es ist natürlich zu fragen, wie aktuell braucht der TO die Angaben zu welchem Zweck? Falls die Toleranz im Rahmen der Aktualsierung der Browserlist liegt, dann kann diese selbstverständlich als Basis genommen werden. Zitieren Link zu diesem Kommentar
Das Urmel 10 Geschrieben 3. Juli 2007 Melden Teilen Geschrieben 3. Juli 2007 Mal sehen ob man deine Sichtweise verbessern kann: @Echo off for /F "tokens=1" %%i in ('type usr.txt') do call :wks %%i @Echo Fertig goto eot :wks psloggedon -l %1 :eot -- Die Ausgabe kann auch noch verbessert werden, halt basteln. Nur als Beweis reicht das völlig. Irgendwas wird ja bekannt sein, in diesem Fall die Benutzernamen in der Textdatei, auch einen DC setze ich in diesem Fall vorraus, oder per LDAP aus dem AD pflücken- gibt mehrere Wege. Es geht auch anders herum, Liste der Workstation..und ohne DC... eine Aufgabe für dich als Batchschreiber? Zitieren Link zu diesem Kommentar
Inti29 10 Geschrieben 4. Juli 2007 Melden Teilen Geschrieben 4. Juli 2007 Hi Dieses als vbs speichern und ins Anmeldescript packen, der servershare ist anzugeben. Damit wird dann bei jedem Login eines Benutzers auf den Servershare in Form von Rechnername_UserID.log eine Datei kreiert. Set fs = CreateObject("Scripting.FileSystemObject")Set wshnet = CreateObject("WScript.Network") Do While wshNet.username = "" WScript.Sleep 250 Loop strComputerName = wshNet.computerName strUserName = wshNet.userName strDomainName = wshNet.userDomain If not fs.FolderExists("\\server\share$\Logs\") Then fs.CreateFolder("\\server\share$\Logs\") Set logfile = fs.CreateTextFile("\\server\share$\Logs\" & strComputerName & "_" & strUserName & ".log",8) strMsg = "" & strUserName & vbCRLF & strComputerName & vbCRLF & strDomainName & vbCRLF & Date & vbCRLF & time & vbCRLF logfile.write(strMsg) logfile.close Ist doch die einfachste Option, denke ich mal so... Ansonsten: Nimm die Text-Datei (Clients.txt), die alle Deine Rechnernamen beinhaltet (untereinander) und schreib Dir diese Batchdatei: Start.bat for /f "delims=" %%i in (Clients.txt) do psloggedon -l -x \\%%i|findstr /v "NT-AUTOR logged">> %%i.txt psloggedon benötigst Du natürlich auch. Alle in ein Verzeichnis packen (Clients.txt, Start.bat, psloggedon.exe) und Starten.bat ausführen. Fertig Allerdings ist das Ergebnis (mit psloggedon) schlecht weiterzuverarbeiten, mir gefällt das mit dem automatischen Erzeugen der Logindaten besser. Gruß Inti29 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.