利用windows的计划任务和eKing.CmdReadFileAndSendEmailOper(控制台小程序)实现远程登录服务器的邮件告警提醒

一、场景摘要:

1、windows计划任务中,有一个用户登录时候触发的事件 2、cmd命令:netstat -ano   | find “3389” 可以看到当前远程登录的IP 3、bat脚本中:set loginUserId=%UserName%   可以获得当前的登录用户名 4、利用eKing.CmdReadFileAndSendEmailOper实现读取文件和邮件发送提示 5、利用bat实现被windows计划任务触发执行   原文链接:
http://www.lookdaima.com/WebForms/WebPages/Blanks/Pm/Docs/DocItemDetail.aspx?id=0821b76a-add3-4303-b41d-34a6faeceb89&EmDocDetailShowTypeV=2  
二、相关下载和链接: 程序下载:
完整程序文件和日志
eKing.CmdSendEmail|实现发送邮件|主要用于数据库定时备份后的邮件提醒|V1.0版本
eKing.CmdDes3EncryptOper|自定义的des3加密操作
https://svn.lookdaima.com:8443/!/#Cmds/view/head/CSharp/Common/eKing.CmdReadFileAndSendEmailOper(user/123)

https://svn.lookdaima.com:8443/!/#Cmds/view/head/CSharp/Common/eKing.CmdReadFileAndSendEmailOper
https://github.com/fuzhx/cmds/tree/master/CSharp/Common/eKing.CmdReadFileAndSendEmailOper

https://github.com/fuzhx/cmds/tree/master/CSharp/Common/eKing.CmdReadFileAndSendEmailOper
应用下载 
源码下载 
在线源码:eKing.CmdReadFileAndSendEmailOper    
三、程序目录截图:

文件目录

1、bat.log:计划任务执行后的输出日志 2、eKing.CmdDes3EncryptOper.exe:辅助小工具,实现邮箱密码的des3加密 3、eKing.CmdReadFileAndSendEmailOper.exe:读取loginip.log的内容并发送邮件 4、login.bat:计划任务的批处理脚本 5、loginip.log:login.bat执行时候输出的内容,有登录IP和当前服务器的IP(避免服务器过多,混淆的情况)  
bat.log的内容:

bat.log

C:\Windows\system32>echo user.login 

user.login 

C:\Windows\system32>set loginUserId=Administrator 

C:\Windows\system32>echo Administrator 

Administrator 

C:\Windows\system32>netstat -ano | find “3389” 1>C:\Cmds\CS\common\login\loginip.log 

C:\Windows\system32>ipconfig -all 1>>C:\Cmds\CS\common\login\loginip.log 

C:\Windows\system32>C:\Cmds\CS\common\login\eKing.CmdReadFileAndSendEmailOper.exe EmailName=qq89616537 EmailSmtpServer=smtp.163.com EmailSend=qq89616537@163.com EmailPwd=***** EnableSsl=false EmailRecv=89616537@qq.com;qq89616537@163.com; EmailTitle=”{DateTime.Now}-用户Administrator 远程登录119.29.88.48(看代码网)服务器” EmailText=远程访问服务器提示 EmailEncoding=gb2312 HtmlFlag=false PwdTextType=des3 EmailTextType=file DirFullName=~/ FileNameExpress=login*.log ReadFileEncoding=gb2312 EmailTextFileMaxLength=0 FileNameToLower=true 

操作成功  
login.bat的内容:

login.bat

:用户登录服务器邮件通知 

echo user.login 

:获得登录的用户 

set loginUserId=%UserName% 

echo %loginUserId% 

: 输出远程的IP

netstat -ano | find “3389” > C:\Cmds\CS\common\login\loginip.log 

:输出Ip

ipconfig -all >> C:\Cmds\CS\common\login\loginip.log 

C:\Cmds\CS\common\login\eKing.CmdReadFileAndSendEmailOper.exe EmailName=qq89616537 EmailSmtpServer=smtp.163.com EmailSend=qq89616537@163.com EmailPwd=**** EnableSsl=false EmailRecv=89616537@qq.com;qq89616537@163.com; EmailTitle=”{DateTime.Now}-用户%loginUserId%远程登录119.29.88.48(看代码网)服务器” EmailText=远程访问服务器提示 EmailEncoding=gb2312 HtmlFlag=false PwdTextType=des3 EmailTextType=file DirFullName=~/ FileNameExpress=login*.log ReadFileEncoding=gb2312 EmailTextFileMaxLength=0 FileNameToLower=true
 
loginip.log的内容

loginip.log

TCP 0.0.0.0:3389 0.0.0.0:0 LISTENING 3756

TCP 10.135.87.157:3389 61.186.27.212:42758 ESTABLISHED 3756

TCP [::]:3389 [::]:0 LISTENING 3756

UDP 0.0.0.0:3389 *:* 3756

UDP [::]:3389 *:* 3756

Windows IP 配置

主机名 . . . . . . . . . . . . . : 10_135_87_157

主 DNS 后缀 . . . . . . . . . . . : 

节点类型 . . . . . . . . . . . . : 混合

IP 路由已启用 . . . . . . . . . . : 否

WINS 代理已启用 . . . . . . . . . : 否

以太网适配器 以太网:

连接特定的 DNS 后缀 . . . . . . . : 

描述. . . . . . . . . . . . . . . : Tencent VirtIO Ethernet Adapter

物理地址. . . . . . . . . . . . . : 52-54-00-2B-60-FE

DHCP 已启用 . . . . . . . . . . . : 否

自动配置已启用. . . . . . . . . . : 是

本地链接 IPv6 地址. . . . . . . . : fe80::3150:c7ba:927e:8325%13(首选) 

IPv4 地址 . . . . . . . . . . . . : 10.135.87.157(首选) 

子网掩码 . . . . . . . . . . . . : 255.255.192.0

默认网关. . . . . . . . . . . . . : 10.135.64.1

DHCPv6 IAID . . . . . . . . . . . : 340939776

DHCPv6 客户端 DUID . . . . . . . : 00-01-00-01-21-8A-D1-DF-52-54-00-2B-60-FE

DNS 服务器 . . . . . . . . . . . : 10.225.30.181

10.225.30.223

TCPIP 上的 NetBIOS . . . . . . . : 已启用

隧道适配器 isatap.{CBE3395E-CAD3-4F82-8C9C-5FF8A258E753}:

媒体状态 . . . . . . . . . . . . : 媒体已断开

连接特定的 DNS 后缀 . . . . . . . : 

描述. . . . . . . . . . . . . . . : Microsoft ISATAP Adapter

物理地址. . . . . . . . . . . . . : 00-00-00-00-00-00-00-E0

DHCP 已启用 . . . . . . . . . . . : 否

自动配置已启用. . . . . . . . . . : 是    
四、计划任务的配置: 发生的 1、打开控制面板 2、点击计划任务 3、点击创建任务 4、设置常规 5、新建触发器 6、设置触发器 7、新建操作 8、设置操作 9、输入操作系统密码确认

打开控制面板

点击计划任务

点击创建任务

设置常规

新建触发器

设置触发器

新建操作

设置操作

输入操作系统密码确认

 
其中: 设置操作的输入项参考: C:\Cmds\CS\common\login\login.bat > C:\Cmds\CS\common\login\bat.log   另附上: Des3实现密码的加密操作 Des3密钥:ekinglbs2018tool

des3的使用

 
五、发送邮件效果:

发送邮件效果

 
六、参数设置: EmailName:发送人的邮箱帐号|如:qq89616537 EmailSmtpServer:SMTP服务|如:smtp.163.com EmailSend:发送人的邮箱帐号|如:qq89616537@163.com EmailPwd:邮箱密码 |如:明文或des3加密 EnableSsl:使用Ssl模式|布尔类型|如:fasle  EmailRecv:接收人邮箱帐号|如:89616537@qq.com;qq89616537@163.com; EmailTitle:邮件标题 |如:{DateTime.Now}-用户%loginUserId%远程登录119.29.88.48(看代码网)服务器 EmailText:邮件内容|如:远程访问服务器提示 EmailEncoding:邮件编码|如:gb2312/或utf8 HtmlFlag:内容为Html模式|布尔类型|如:false PwdTextType:密码内容类型|text:明文;des3:des3加密|如des3 EmailTextType:邮件内容类型 |text:纯文字;file:文件|如:text DirFullName:完整的Dir名称|D:\one(无后缀)|或:~/执行程序所在的目录 FileNameExpress:文件名表达式|如:*_bak.log ReadFileEncoding:读取文件编码|如:gb2312 EmailTextFileMaxLength:读取的文件允许最大值|长整型|同文件的FileLength做比较|字节做单位|0代表不限 FileNameToLower:文件是否小写比较|布尔类型|如:true