Może słabo szukałem, albo brakło mi cierpliwości, w każdym razie nie udało mi się tego w łatwy sposób odnaleźć w narzędziach logów systemowych.
Na szczęście z pomocą przyszły dwie zmienne:
- %username - zmienna przechowująca nazwę zalogowanego użytkownika,
- %clientname% - zmienna przechowująca nazwę komputera z którego następuje logowanie.
Stanowią one rozwiązanie na wcześniej postawione pytanie.
Teraz wystarczy dodać przed nimi zmienną wstawiającą datę i czas, a następnie całość przekierować do pliku w którym wygenerowany ciąg będzie zapisywany poprzez symbol podwójnego nawiasu trójkątnego >>.
Przypomnę, że podwójny nawias trójkątny (>>) powoduje dopisanie danych do pliku, zaś pojedynczy (>) jego nadpisanie, czyli w naszym przypadku nie to o co nam chodzi.
W ten sposób otrzymujemy ciąg jak poniżej, który zapisujemy do skryptu z rozszerzeniem *.bat i wrzucamy go do autostartu.
echo %date% %time% %CLIENTNAME%/%username% >> c:\log\RDP.log
No i to tyle. Jedna linijka, a ile radości :D
Teraz logowanie przez RDP znajdzie swoje odzwierciedlenie w stworzonym przez nas logu.
Może powyższe rozwiązanie nie powala finezją i nie jest też napisane w PowerShellu (niektórzy pewnie napisaliby to w Assemblerze ;), ale było szybko napisane, działa i na moje potrzeby wystarcza.
Aha. To rozwiązanie uruchamia się tylko przy logowaniu użytkownika, więc nie sprawdzi się kiedy ktoś przerywa sesję zdalną i potem do niej wraca.
Nie morduj się ;)
OdpowiedzUsuńEvent Viewer - Applications ans Services logs - Microsoft - Windows - TerminalServices-RemoteConnectionManager - Operational. Zdarzenia z EventID 1149
https://1drv.ms/u/s!AoDP15lP5G7hoKl0B_wnqV2xnF4BNA?e=Azxq0U
Tak przypuszczałem, że gdzieś to jest logowane ;) Ale szybciej było mi napisać cztery zmienne niż tego szukać. Ale dzięki, warto wiedzieć :)
UsuńSwietny blog.
OdpowiedzUsuń:)
OdpowiedzUsuń