shitzovran
Goto Top

Anmeldezeiten auf Terminal in Datenbank schreiben

HIer eine einfache Möglichkeit die An- und Abmeldezeiten der User auf einem Terminalserver per VBS zu loggen und diese ggf in einer Datenbank zu verarbeiten.

Zunächsteinmal erstellt ihr eine VBS Datei, die folgenen Inhalt haben sollte

Option Explicit
Dim fso, objNet, f
Dim userName, zeile


' Datei öffnen  
Set fso = CreateObject("Scripting.FileSystemObject")  
Set f = fso.OpenTextFile("c:\protokoll.txt", 8, True)  

' Usernamen ermitteln  
Set objNet = WScript.CreateObject("WScript.Network")  
userName = objNet.UserName

' Ausgabe  
zeile = Wscript.arguments.Item(0) & ";" & userName & ";" & Date & ";" & Time & vbNewLine  
f.Write zeile
f.Close

' Referenzen freigeben  
Set fso = Nothing
Set f = Nothing
Set objNet = Nothing


Dieses Skript bindet Ihr in der GPO jeweils unter

"Benutzerkonfiguration -> Windows-Einstellungen -> Skripts -> Anmelden" und "Benutzerkonfiguration -> Windows-Einstellungen -> Skripts -> Abmelden" mit dem Skriptparameter LOGON bei anmeldung und LOGOFF bei Abmeldung ein.

Für den Fall, dass alles richtig gemacht wurde, wird in eine txt-Datei , die in meinem Beispiel direkt auf C:\ abgelegt wird. "C:\protokoll.txt". (Der Name sowie Pfad kann natürlich beliebig angepasst werden) alles protokolliert.

In dieser TXT werden dann verschiedene Argumente bei der Anmeldung sowie Abmeldung hineingeschrieben.
zB. User 1 meldet sich heute um 7.30 Uhr an und um 8.00 Uhr wieder ab würde es folgenermaßen in dem TXT aussehen:

LOGON;USER1;30.03.2009;07:30:00
LOGOFF;USER1;30.03.2009;08:00:00

Diese Datei kann dann in eine Datenbank verknüpft oder importiert werden, Trennzeichen ";"....

Dadurch kann schließlich über Abfragen alles mögliche gemacht werden, Die taglichen Anmeldezeiten, durchschnitts anmeldezeiten, oder einfach nur eine auflistung wann Wer angemeldet war.

Content-ID: 112676

Url: https://administrator.de/contentid/112676

Ausgedruckt am: 05.11.2024 um 08:11 Uhr

Raider88
Raider88 22.06.2009 um 09:23:46 Uhr
Goto Top
schönes Ding.
was mich noch interessieren würde ob es auch eine Möglichkeit für den Ruhezustand gibt da dieser nie betrachtet wird. auch wenn es hier um TerminalServer geht kann man es ja auch andersweilig nutzen ;)

Gruß, Raider
anwinkler
anwinkler 16.08.2010 um 12:46:47 Uhr
Goto Top
Hallo,
wollte das gerade mal testen auf einem Terminalserver 2003 und 2008...leider geht das nicht. Ich bekomme folgende Fehlermeldung
Fehler: Subscript out of range
Code: 800A0009
Zeile: 16
Zeichen:1

weis jemand wo dier Fehler liegt?