@echo off if "%1" == "h" goto begin mshta vbscript:createobject("wscript.shell").run("%~nx0 h",0)(window.close)&&exit :begin set port=3389 set checkInterval=2 set prev="" :loop set curr= for /f "delims=" %%i in ('netstat -n -p tcp ^|find ^":%port%^"') do (set curr=%%i) if not "%curr%"=="%prev%" ( set prev=%curr% date /t >>RDPlog.txt time /t >>RDPlog.txt echo %curr% >>RDPlog.txt ) ping -n %checkInterval% 127.1>nul goto :loop
遠程桌面服務端口(port)爲3389;shell
目前輪詢頻率(checkInterval)設置爲2秒;bash
腳本運行後在後臺,看不到Console窗口,當檢測服務端口鏈接狀態有變化時,會把時間和對方IP記錄到RDPlog.txt中。tcp
腳本設置爲開機自啓動就好了。ide