vbs脚本-检测U盘插入拨出并通过邮件报警

自己复制粘贴和修改的,很多做网管的朋友应该会用得上,里面锁定操作的小程序是自己用VB写的,很不完善,就不拿出来献丑了~~~
报警邮件内容包括电脑的IP、计算机名、域用户名

‘###############################################################
‘              检测U盘接入和拨出行为并触发邮件报警                        
‘   同时可以锁定计算机操作,产生卡机现像,拨出U盘或15分钟后解除
‘###############################################################
OnErrorResumeNext
‘获取当前IP、计算机名、登录用户
strIPPattern = "((192\.168|172\.([1][6-9]|[2]\d|3[01]))(\.([2][0-4]\d|[2][5][0-5]|[01]?\d?\d)){2}|10(\.([2][0-4]\d|[2][5][0-5]|[01]?\d?\d)){3})"
Set objNet = createobject("Wscript.Network")
Set objRegExp = New RegExp
objRegExp.Pattern = strIPPattern
Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")
Set IPConfigSet = objWMIService.ExecQuery _
("Select * from Win32_NetworkAdapterConfiguration Where IPEnabled=TRUE")
For Each IPConfig in IPConfigSet
If Not IsNull(IPConfig.IPAddress) Then
For i=LBound(IPConfig.IPAddress) to UBound(IPConfig.IPAddress)
If InStr(IPConfig.Caption(i),"VMware Network") = 0 And InStr(IPConfig.Caption(i),"Microsoft") = 0 Then
If InStr(IPConfig.Caption(i),"VirtualBox") = 0 And InStr(IPConfig.Caption(i),"TAP") = 0 Then
If InStr(IPConfig.Caption(i),"169.254") = 0 And InStr(IPConfig.Caption(i),"0.0.0.0") = 0 Then
If objRegExp.Test(IPConfig.IPAddress(i)) = True Then       
IP = IPConfig.IPAddress(i)
End If
End If
End If
End If
Next
End If
Next
Hostname = objNet.ComputerName
Set oADSystemInfo = CreateObject("ADSystemInfo")
strUserDN = Replace(oADSystemInfo.UserName,"/","\/")
Set objUser = GetObject("LDAP://" & strUserDN)
User = Mid(objUser.Name,4)
 
Constf="***@163.com" ‘发件人邮箱
Constsmtp="smtp.163.com" ‘SMTP地址
Constu="***@163.com" ‘发件人发件账号
Constp="***" ‘发件人发件密码
Constt="***@abc.com;***@abc.com" ‘收件人邮箱,分号隔开
Constm_in="检测到U盘接入" ‘邮件主题
Constm_out="检测到U盘拨出" ‘邮件主题
‘Constj="附件地址"‘需要发送附件则反注释掉此行
DimobjShell,objWMIService,msg
msg="IP地址:"&IP&vbCrLf&"计算机名:"&Hostname&vbCrLf&"用户名:"&User ‘邮件内容
NameSpace="http://schemas.microsoft.com/cdo/configuration/"
SetobjShell=CreateObject("Wscript.Shell")
Setfs=wscript.createobject("scripting.filesystemobject")
setwfolder=fs.getspecialfolder(0)
 
‘将锁定操作.exe从共享复制到d盘根目录下,默认关闭了
‘fs.copyfile"\\192.168.0.8\工具软件\锁定操作.exe","d:\",true
 
‘每10秒循环检测U盘接入
strComputer="."
SetobjWMIService=GetObject("winmgmts:\\"&strComputer&"\root\cimv2")
SetcolEvents=objWMIService.ExecNotificationQuery_
("Select*From__InstanceOperationEventWithin10Where"_
&"TargetInstanceisa‘Win32_LogicalDisk‘")
 
‘接入与拨出都会发送邮件
DoWhileTrue
SetobjEvent=colEvents.NextEvent
IfobjEvent.TargetInstance.DriveType=2Then
SelectCaseobjEvent.Path_.Class
Case"__InstanceCreationEvent"
SetEmail=createObject("CDO.Message")
Email.From=f
Email.To=t
Email.Subject=m_in
Email.Textbody=msg
‘Email.AddAttachmentj‘需要发送附件则反注释掉此行
WithEmail.Configuration.Fields
.Item(NameSpace&"sendusing")=2
.Item(NameSpace&"smtpserver")=smtp
.Item(NameSpace&"smtpserverport")=25
.Item(NameSpace&"smtpauthenticate")=1
.Item(NameSpace&"sendusername")=u
.Item(NameSpace&"sendpassword")=p
.update
EndWith
Email.Send
 
‘运行d:\锁定操作.exe,默认关闭
‘objShell.Run"d:\锁定操作.exe"
 
Case"__InstanceDeletionEvent"
SetEmail=createObject("CDO.Message")
Email.From=f
Email.To=t
Email.Subject=m_out
Email.Textbody=msg
‘Email.AddAttachmentj‘需要发送附件则反注释掉此行
WithEmail.Configuration.Fields
.Item(NameSpace&"sendusing")=2
.Item(NameSpace&"smtpserver")=smtp
.Item(NameSpace&"smtpserverport")=25
.Item(NameSpace&"smtpauthenticate")=1
.Item(NameSpace&"sendusername")=u
.Item(NameSpace&"sendpassword")=p
.update
EndWith
Email.Send
 
‘拨出U盘后杀死锁定操作.exe进程,恢复电脑操作
SetobjWMIService=GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
SetarrProcesses=objWMIService.ExecQuery("select*fromwin32_processwhereName=‘锁定操作.exe‘")
ForEachproccessInarrProcesses
proccess.Terminate0
Next
 
EndSelect
EndIf
Loop
时间: 2024-11-02 02:48:50

vbs脚本-检测U盘插入拨出并通过邮件报警的相关文章

vbs脚本实现网盘映射及标签更改

vbs脚本实现网盘映射及标签更改,完全自主研发,绝无仅有,觉得有用的朋友点个攒: Set WshNetwork = CreateObject("WScript.Network")set wshshell = wscript.createObject("WScript.shell")dim mypathmypath = "\xxx.domain.com\" //共享文件路径if WshNetwork.UserName = "aaaa&qu

检测U盘插入、拨出状态

头文件 #include <Dbt.h> 关键代码: 1 LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) 2 { 3 4 switch (message) 5 { 6 case WM_DEVICECHANGE: 7 if (DBT_DEVICEARRIVAL==wParam ) 8 MessageBox(NULL,TEXT("U盘插入"),TEXT("&

WINDOWS检测U盘插入,拔出

检测U盘的插入或拔出状态,然后根据状态做出相关操作. 检测U盘是否被插入是通过监听WM_DEVICECHANGE消息来实现的. 判断-U盘拔出和插入-获取它盘符 2010-05-04 10:59 加入消息 ON_WM_DEVICECHANGE(OnDeviceChange) 加入 afx_msg void OnDeviceChange(UINT nEventType, DWORD dwData); -------------------------------------------------

C#检测U盘是否插入

public partial class Form1 : Form { #region u盘属性 public const int WM_DEVICECHANGE = 0x219;//U盘插入后,OS的底层会自动检测到,然后向应用程序发送"硬件设备状态改变"的消息 public const int DBT_DEVICEARRIVAL = 0x8000; //就是用来表示U盘可用的.一个设备或媒体已被插入一块,现在可用. public const int DBT_CONFIGCHANGE

iOS 检测耳机插入/拔出

http://www.verydemo.com/demo_c134_i28481.html 开发过程中录音和播放这块碰到了一些问题,麻烦的主要有三个: 检测是否有声音输入设备 当有多个声音输出设备时,指定声音输出设备 检测耳机的插入和拔出 第一个问题,对于iTouch和iPad等本身不带麦克风的设备,需要检查是否插入了带录音功能的耳机:对于iphone,由于其本身已近自带麦克风,所以相对容易.第二个问题,当在本身带有外放的设备上插入耳机等输出设备时,就出现了多个输出设备,需要实现在程序中指定将声

iOS检测耳机插入拔出

首先,需要导入两个框架 然后,注册通知检测耳机的插入与拔出操作 1 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(outputDeviceChanged:)name:AVAudioSessionRouteChangeNotification object:[AVAudioSession sharedInstance]]; 2 [[NSNotificationCenter defaultCente

U盘小偷——C++实现U盘插入检测和文件扫描拷贝

重点就是U盘插入监控,获得U盘盘符,开机自启动,文件扫描和复制. 1.对u盘插入行为监控,并获得盘符 当U盘插入的时候会产生一个消息WM_DEVICECHANG,只要我们获得这个消息,然后进行处理就行. 为了获得消息,我们需要一个窗口 int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow) { static TCHAR szAppName[] = TEXT("UU

Vbs 脚本编程简明教程之一

-为什么要使用 Vbs ? 在 Windows 中,学习计算机操作也许很简单,但是很多计算机工作是重复性劳动,例如你每周也许需要对一些计算机文件进行复制.粘贴.改名.删除,也许你每天启动 计算机第一件事情就是打开 WORD ,切换到你喜爱的输入法进行文本编辑,同时还要播放优美的音乐给工作创造一个舒心的环境,当然也有可能你经常需要对文本中的某 些数据进行整理,把各式各样的数据按照某种规则排列起来--.这些事情重复.琐碎,使人容易疲劳. 第三方软件也许可以强化计算机的某些功能,但是解决这些重复劳动往

Vbs脚本经典教材

转载:http://www.cnblogs.com/BeyondTechnology/archive/2011/01/10/1932440.html Vbs脚本经典教材(最全的资料还是MSDN) -为什么要使用Vbs? 在Windows中,学习计算机操作也许很简单,但是很多计算机工作是重复性劳动,例如你每周也许需要对一些计算机文件进行复制.粘贴.改名.删除,也许你每天启动计算机第一件事情就是打开WORD,切换到你喜爱的输入法进行文本编辑,同时还要播放优美的音乐给工作创造一个舒心的环境,当然也有可