Auch ohne den Einsatz von Drittanbieter Software ist es möglich, Anmeldungen am Terminalserver protokollieren zu können. Alles was hierfür benötigt wird, sind ein paar vordefinierte Variablen und das Auslesen eines Wertes aus der Windows Registry. Wie einfach das Ganze funktioniert, beschreibe ich in diesem Artikel.
Benutzer Anmeldungen am Terminalserver protokollieren
Zunächst sei gesagt, dass Du Dich rechtlich absichern solltest, bevor Du damit beginnst die Anmeldezeiten von Anwendern mitzuschreiben. Frage im Zweifel beim Betriebsrat und / oder dem Datenschutzbeauftragten nach. Auch, wenn Du die Anmeldezeiten nur für eine Auswertung oder für das Troubleshooting benötigst.
Nachdem Du das geklärt hast, kannst Du die folgenden Schritte anwenden und somit die Anmeldungen am Terminalserver protokollieren:
Das Ermitteln der Werte ist dabei sogar ziemlich einfach. Du benötigst das aktuelle Datum, den Zeitpunkt der Anmeldung und den Benutzernamen des Anwenders, der sich am Terminalserver anmeldet. Auch den Clientnamen, von welchem die Verbindung aufgebaut wurde, lässt sich ausgeben. Diese Werte kannst Du jederzeit über den folgenden Befehl ermitteln:
echo Der Benutzer %username% hat sich am %date% um %time% Uhr am Server %computername% angemeldet (Client: %clientname%).
Mit Hilfe dieser einen Zeile kannst Du Dir nun ein Skript schreiben, welches Du bei der Benutzeranmeldung im Hintergrund ausführen kannst. Die Ergebnisse werden allesamt in eine Textdatei geschrieben, in der Du alle Anmeldeergebnisse fortlaufend aufgelistet bekommst. Das Skript sieht folgendermaßen aus:
@echo off
echo Der Benutzer %username% hat sich am %date% um %time% Uhr am Server %computername% angemeldet (Client: %clientname%). >> C:\Temp\Anmeldungen-protokollieren.txt
Skript bei jeder Anmeldung eines Benutzers ausführen
Diese Zeilen kopierst Du Dir nun einfach in eine neue Datei und benennst diese z.B. mit „Benutzernameldungen-protokollieren.cmd“. Mit der Dateiendung CMD wird Dein Skript ausführbar und Du kannst dieses damit per Doppelklick ausführen. Jedes Mal, wenn dieses Skript nun gestartet wird, schreibt es Dir die jeweiligen Daten des ausführenden Benutzers in die angegebene Textdatei. Dabei wird die Textdatei nicht überschrieben, sondern immer wieder erweitert.
Nun musst Du nur noch die Benutzer dazu „überreden“, dieses Skript auch auszuführen, sobald sie sich angemeldet haben. Getreu dem Motto „Was er nicht weiß, …“ bauen wir das Skript nun einfach in die Anmeldung ein. Dies erfolgt am einfachsten über die lokalen Gruppenrichtlinien des Terminalservers (ist aber auch genauso über die Gruppenrichtlinienverwaltung der Domäne möglich).
Öffne hierfür den lokalen Gruppenrichtlinienclient („gpedit.msc“) und navigiere in der Benutzerkonfiguration in die Windows-Einstellungen. Hier findest Du den Punkt „Skripts (Anmelden/Abmelden)“ unter welchem Du nun Skripte für das jeweilige Ereignis festlegen kannst. Mit einem Doppelklick auf „Anmelden“ öffnest Du den Dialog für die Auswahl der Skripte.
Sobald die lokale Gruppenrichtlinie aktiviert wurde, werden sämtliche Anmeldungen in die Textdatei geschrieben. Damit kannst Du jederzeit nachvollziehen, zu welchem Zeitpunkt sich welcher Benutzer am Terminalserver angemeldet hat. Damit aber nicht genug: Mit dem Skript kannst Du nicht nur Anmeldungen am Terminalserver protokollieren, sondern auch die Abmeldungen. Hierfür kopierst Du das Skript einfach, passt den Text darin an („hat sich abgemeldet“) und bindest dieses zusätzliche Skript bei der Abmeldung des Benutzers ein.
Auch Abmeldungen lassen sich protokollieren
Heraus kommt eine Protokollierung über die An- und Abmeldungen an einem Terminalserver:
Abschließend noch ein paar Hinweise:
- Alle Benutzer sollten Schreibrechte auf den Pfad haben, in welchem die Protokollierungsdatei gespeichert wird.
- Das Skript funktioniert auch auf Nicht-Terminalservern, jedoch wird die Variable %clientname% dabei nicht gesetzt.
- Getestet habe ich dieses Skript auf einem Windows Server 2016 mit installierten Remotedesktopdiensten.
- Wie bereits erwähnt, sollte die Protokollierung vor Einsatz genehmigt worden sein und die Benutzer sollten davon in Kenntnis gesetzt werden.
- Wie Du auf einem lokalen Client den letzten Login eines Benutzers ermittelst, habe ich in diesem Artikel beschrieben: Letzter Login eines Benutzers.
Auch interessant:
- Papierkorb manuell leeren – für alle Benutzer
- Lokale Benutzerprofile auf dem Terminalserver löschen
- Mehrere RDP Verbindungen in Server 2016
- MSTSC – Remotedesktop Verbindung herstellen
- RSAT in Windows 10 installieren
Dieser Artikel ist wie alle anderen auf dieser Seite kostenlos für Dich und ich hoffe, ich konnte Dir weiterhelfen. Wer möchte, kann diesem Blog eine kleine Aufmerksamkeit in Form einer kleinen Spende (PayPal) oder über die Amazon Wunschliste zukommen lassen.
Hinterlasse einen Kommentar