终端服务器登录脚本

时间:2015-10-16 17:00:25

标签: batch-file netstat

我正在编写一个简单的.bat脚本来跟踪我们的终端服务器的登录,并将记录追加到单个CSV文件中。我无法让我的脚本正常运行。几乎所有东西都在工作,但 clientip 变量有一整行输出而不仅仅是我想要的IP地址。我不认为我正确地做了TOKENS,我怀疑它是因为netstat命令的输出没有被制表符分隔。

@ECHO OFF
FOR /F "TOKENS=*" %%A IN ('TIME/T') DO SET TIME=%%A
FOR /F "TOKENS=3 delims=<tab>" %%B IN ('netstat -n ^| find ":3389" ^| find "ESTABLISHED"') DO SET CLIENTIP=%%B
echo Logon,%username%,%date%,%time%,%computername%,%clientip% >> \\dc01\c$\logons.csv

如果netstat -n | find ":3389" | find "ESTABLISHED"的示例输出是

TCP 10.10.20.100:3389 68.46.xxx.xxx:50373 ESTABLISHED

那么如何才能将 clientip 变量设置为(当然是最后的数字编辑)68.46.xxx.xxx?奖金将离开港口,在这种情况下&#34;:50373&#34;。

0 个答案:

没有答案