2015-02-27 2 views
3

Le but de ce fichier bat est d'enregistrer les connexions RDP et les enregistrer dans un fichier lorsque l'utilisateur se connecte, cela fonctionne bien mais il enregistre toutes les connexions RDP, donc ce n'est pas précis. est-il possible de lancer la commande netstat pour un seul utilisateur à la connexion? c'est-à-dire uniquement enregistrer la session RDP des utilisateurs, pas toutes les sessions RDP?script netstat bat enregistrer toutes les connexions RDP

espoir ce sens ...

@echo off 
for /f "delims=" %%i in ('netstat -anp TCP^| find "ESTABLISHED"^| find "3389"') do (
    echo %date% %time% %%i >> \\DC\Logs$\Logon\RDP.csv 
) 

Répondre

1

Au lieu de netstat, utilisez qwinsta ou quser, ou leurs alias plus sensibles query session ou query user.

set "user=foo" 
for /f "delims=" %%I in ('query user %user% ^| find "rdp"') do (
    >>\\DC\Logs$\Logon\RDP.csv echo(%%I 
) 

(quser/query user comprend l'horodatage de connexion déjà.)

Ou si je l'ai mal compris et vous vous demandez vraiment comment déclencher le fichier de chauve-souris uniquement lorsqu'un utilisateur particulier se connecte, mettre dans %userprofile%\Start Menu\Programs\Startup de cet utilisateur ou de mettre une entrée REG_SZ dans HKCU\Software\Microsoft\Windows\CurrentVersion\Run de cet utilisateur. Sachez qu'il ne se déclenchera pas si l'utilisateur se déconnecte et se reconnecte - uniquement s'il effectue une action de connexion à partir d'un état déconnecté. Si vous souhaitez enregistrer un événement lors de la reconnexion à la session active, vous pouvez essayer d'ajouter une tâche planifiée sur un unlock event.

Si vous demandez comment jumeler un utilisateur connecté à distance avec son adresse IP lorsqu'il y a plus d'un utilisateur connecté à distance, je n'ai pas trouvé un moyen facile de le faire, autre que d'utiliser un 3ème utilisateur. outil de fête. TSListUsers semble fonctionner cependant. Mais je vais continuer à regarder.