Czy istnieje sposób ustalenia adresu IP klienta pulpitu zdalnego za pomocą programu PowerShell (lub innej metody) na serwerze? (Używam Windows Server 2008 R2 x64)
EDYCJA: Uważam, że mogę grep stdout netstat, aby pobrać te informacje, co jest bardzo wykonalne, więc jak mogę uruchomić skrypt / polecenie powłoki, gdy klient się łączy?
Odpowiedzi:
W wierszu polecenia można uruchomić następujące polecenie, aby uzyskać listę zdalnych adresów IP podłączonych do protokołu RDP (port 3389).
Jestem pewien, że można to zrobić w skrypcie PowerShell (lub nawet zwykłym starym pliku wsadowym). Mogę podać jutro przykład, jeśli jesteś zainteresowany.
źródło
W porządku, zorientowałem się, że
task scheduler
aplikację dostarczaną z systemem Windows można skonfigurować w taki sposób, aby można było uruchomić skrypt wsadowy uruchamiany podczas generowania zdarzenia w dzienniku zdarzeń. Za pomocą interfejsu użytkownika wybierasz typ zdarzenia, źródło zdarzenia i identyfikator zdarzenia, w którym to przypadku użyłem 4264 (i tak przechwytuje wszystkie typy logowania). Tutaj użyłem prostego skryptu wsadowego:Znalazłem też ten bardzo przydatny przykład, jak subskrybować / słuchać zapisów zdarzeń w .NET: http://msdn.microsoft.com/en-us/library/bb552514(v=vs.90).aspx I ' zamiast tego użyję tego do zapisania pewnych zdarzeń w bazie danych w celu zbadania przez Internet.
Jedyną wadą tego rozwiązania jest to, że jeśli masz włączone Usługi pulpitu zdalnego i podłączonych jest wiele osób, nie można ich rozróżnić w danych wyjściowych netstat.
źródło
Jeśli nie musisz go skryptować, możesz sprawdzić w dzienniku zdarzeń zabezpieczeń identyfikator zdarzenia 4624. Pojawi się wiersz:
Źródłowy adres sieciowy: 192.168.xxx.xxx
źródło