Gibt es eine Möglichkeit, die IP-Adresse eines Remotedesktopclients mithilfe von PowerShell (oder einer anderen Methode) auf dem Server zu ermitteln? (Ich verwende Windows Server 2008 R2 x64.)
BEARBEITEN: Ich finde, dass ich die stdout von netstat verwenden kann, um diese Informationen abzurufen, was sehr realisierbar ist. Wie kann ich also ein Skript / einen Shell-Befehl auslösen, wenn sich ein Client verbindet?
Antworten:
An einer Eingabeaufforderung können Sie den folgenden Befehl ausführen, um eine Liste der Remote-IPs abzurufen, die mit RDP verbunden sind (Port 3389).
Ich bin sicher, dass dies in Powershell geschrieben werden kann (oder sogar nur in einer einfachen alten Batch-Datei). Ich kann Ihnen morgen ein Beispiel geben, wenn Sie interessiert sind.
quelle
Okay, ich habe herausgefunden, dass die
task scheduler
mit Windows gelieferte Anwendung so konfiguriert werden kann, dass ich ein Stapelskript ausführen kann, das ausgelöst wird, wenn ein Ereignis im Ereignisprotokoll generiert wird. Über die Benutzeroberfläche wählen Sie den Ereignistyp, die Ereignisquelle und die Ereignis-ID aus. In diesem Fall habe ich 4264 verwendet (und yes erfasst alle Anmeldetypen). Hier habe ich stattdessen ein einfaches Batch-Skript verwendet:Außerdem habe ich ein super nützliches Beispiel zum Abonnieren / Abhören von Ereignis-Schreibvorgängen in .NET gefunden: http://msdn.microsoft.com/en-us/library/bb552514(v=vs.90).aspx I ' Am Ende wird dies verwendet, um bestimmte Ereignisse zur webbasierten Prüfung in eine Datenbank zu schreiben.
Der einzige Nachteil dieser Lösung ist, dass Sie bei aktivierten Remotedesktopdiensten und mehreren verbundenen Personen in der netstat-Ausgabe nicht zwischen diesen unterscheiden können.
quelle
Wenn Sie kein Skript benötigen, können Sie im Sicherheitsereignisprotokoll nach der Ereignis-ID 4624 suchen. Es wird eine Zeile angezeigt:
Quellnetzwerkadresse: 192.168.xxx.xxx
quelle