daniel.stahl
Goto Top

RDP-Sitzung Protokollierung mit clientnamen

Hallo zusammen,
Ich suche nach einer Möglichkeit, erfolgreiche Login´s über RDP zu protokollieren.
Mein erster Versuch war zwar erfolgreich, aber leider wird der Clientname nicht übertragen, da ich die Batch-Datei über die Aufgabenplanung eingebunden hab.

Hier der Inhalt der Batch:
@echo off
Echo %username%; %date%; %time%; %clientname%; verbunden >> G:\Logs\login-logout.txt
Exit

Habt ihr eine andere Idee? Es geht mir nicht um Überwachung o.ä., sondern nur, dass die Loginzeiten protokolliert werden (nur Datum/Zeit, Benutzer, Clientname)


Besten Dank im voraus!
Daniel

Content-Key: 233182

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

Printed on: April 25, 2024 at 01:04 o'clock

Member: Pjordorf
Pjordorf Mar 20, 2014 at 13:06:18 (UTC)
Goto Top
Hallo,

Zitat von @Daniel.Stahl:
Ich suche nach einer Möglichkeit, erfolgreiche Login´s über RDP zu protokollieren.
Auf einen Server (ohne TS etc) oder am sogenannten TS oder an irgendein Client? Versionen sind wie Nummernschilder, braucht keinerface-smile

aber leider wird der Clientname nicht übertragen
Übertragen? Von wo nach wo und wie und womit?

Echo %username%; %date%; %time%; %clientname%; verbunden >> G:\Logs\login-logout.txt
Mal mit einen Konsolenfenster geschaut was dir ein set an Variablen lifert? Ist dort dein ClientName dabei und auch mit einen gültigen Wert versehen?

dass die Loginzeiten protokolliert werden
Loginzeiten des Rechner, des Benutzers, einer TS Sitzung oder was genau? Darf es auch was anderes als Batch sein und wie aufwendig darf es sein?

Gruß,
Peter
Member: Daniel.Stahl
Daniel.Stahl Mar 20, 2014 at 15:07:22 (UTC)
Goto Top
Entschuldige, hab im Eifer des Gefechts wichtige Eckdaten vergessen ;)

Die Protokollierung soll auf dem Server (Win2k8R2) laufen. Wenn ich die o.g. Batch-Datei "von Hand" starte, wird in die Textdatei jede Variable korrekt eingetragen. Startet die Batch-Datei allerdings über die Aufgabenplanung, wird jede Variable außer %clientname% eingetragen. Mit Login-Daten mein ich die Anmeldung über RDP-Session und lokal..

Es muss natürlich nicht Batch sein, bin auch gerne offen für andere Ideen. Parallel versuche ich grad über "Log Parser Studio" das gleiche, allerdings auch nur mit mäßigem Erfolg. :/
Member: Pjordorf
Pjordorf Mar 20, 2014 at 16:09:16 (UTC)
Goto Top
Hallo,

Zitat von @Daniel.Stahl:
Startet die Batch-Datei allerdings über die Aufgabenplanung,
Wie? Wo? Wann? Über RDP Sitzung oder nicht? Welcher Benutzer soll das starten?

Schon gelesen? Clientname in Terminalsitzung oder http://stackoverflow.com/questions/5301079/preferred-way-of-getting-cli ... oder http://social.technet.microsoft.com/Forums/en-US/0138bd78-c8d6-484f-a54 ... oder http://rcmtech.wordpress.com/2011/06/09/how-to-get-clientname-within-lo ...

Gruß,
Peter
Member: Daniel.Stahl
Daniel.Stahl Mar 20, 2014 updated at 18:23:25 (UTC)
Goto Top
Danke für deine schnelle Antwort, ich hab gerade so einiges ausprobiert.., aber eins nach dem anderen:

> Zitat von @Pjordorf:
> Startet die Batch-Datei allerdings über die Aufgabenplanung,
Wie? Wo? Wann? Über RDP Sitzung oder nicht? Welcher Benutzer soll das starten?
Als Trigger "Bei Remoteverbindung mit einer Benutzersitzung"
Gestartet werden soll die Batch-Datei von jedem Benutzer, damit die Log-Files auch alles vernünftig aufnehmen.

Clientname in Terminalsitzung
1. Lösungsvorschlag:
Ich starte jetzt das eigentliche Script über eine Batch-Datei mit START. Dadurch wird eine neue CMD gestartet und der Clientname ist
seitdem immer vorhanden gewesen."
Leider ist hier auch das Problem, dass die Variable %Clientname% nicht korrekt in die Log-Datei eingetragen wird.
2. Lösungsvorschlag:
direktes Suchen in der Registrierung (HKCU\Volatile Environment\<Session-Nummer>: "Clientname")
Die Lösung kann ja schon aufgrund der unterschiedlichen und wechselnden SitzungsIDs nicht auf dauer funktionieren.

Da blick ich noch nicht so ganz durch face-smile

Schlägt fehl, angeblich ist das Modul nicht installiert

Sitz grad noch dran, das umzusetzen..
Member: Daniel.Stahl
Daniel.Stahl Mar 21, 2014 at 10:46:22 (UTC)
Goto Top
Kurzer Zwischenstand:

Ich hab nun den Clientnamen über die Registry ausgelesen und als Variable in die Batch-Datei eingesetzt. So sieht das ganze nun fast fertig aus:
@echo off
for /f "skip=1 tokens=3" %%A IN ('REG QUERY "HKCU\Volatile Environment\3" /v CLIENTNAME') DO SET CLIENTNAM=%%A
echo CLIENTNAME=%CLIENTNAM%
echo %username%; %date%; %time%; %clientnam%; verbunden >> G:\Logs\RDP-Protokoll.txt 
exit

Das einzige Problem ist jetzt die Variable %sessionNumber%, damit der Registryeintrag "CLIENTNAME" auch gefunden werden kann - ist ja nicht immer die 3 wie im oberen Beispiel.