Existe-t-il un moyen de déterminer l'adresse IP d'un client de bureau distant à l'aide de PowerShell (ou d'une autre méthode) sur le serveur? (Windows Server 2008 R2 x64 est ce que j'utilise)
EDIT: Je trouve que je peux grep stdout de netstat pour récupérer ces informations qui est très faisable, alors comment puis-je déclencher un script / shell-commande quand un client se connecte?
Réponses:
À partir d'une invite de commandes, vous pouvez exécuter la commande suivante pour obtenir une liste des adresses IP distantes connectées à RDP (port 3389).
Je suis certain que cela peut être scripté en PowerShell (ou même simplement un ancien fichier batch). Je peux vous donner un exemple demain si vous êtes intéressé.
la source
D'accord, j'ai compris que l'
task scheduler
application fournie avec Windows est configurable à l'endroit où je peux exécuter un script batch, déclenché lorsqu'un événement dans le journal des événements est généré. Via l'interface utilisateur, vous choisissez le type d'événement, la source d'événement et l'ID d'événement, auquel cas j'ai utilisé 4264 (et oui est capture tous les types d'ouverture de session). Ici, j'ai plutôt utilisé un simple script batch:J'ai également trouvé un exemple très utile sur la façon de souscrire / écouter les écritures d'événements dans .NET: http://msdn.microsoft.com/en-us/library/bb552514(v=vs.90).aspx I ' Je vais finir par l'utiliser à la place pour écrire certains événements dans une base de données pour un examen sur le Web.
Le seul inconvénient de cette solution est que si vous avez activé les services Bureau à distance et que plusieurs personnes sont connectées, vous ne pouvez pas les différencier dans la sortie netstat.
la source
Si vous n'avez pas besoin de l'écrire, vous pouvez consulter le journal des événements de sécurité pour l'ID d'événement 4624. Il y aura une ligne:
Adresse réseau source: 192.168.xxx.xxx
la source