如何使用VBS禁用或启动USB存储设备
这篇文章主要介绍“如何使用VBS禁用或启动USB存储设备”,在日常操作中,相信很多人在如何使用VBS禁用或启动USB存储设备问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何使用VBS禁用或启动USB存储设备”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
USB存储设备控制 By Yu2n
XP系统测试通过,需要管理员权限。
在下次插拔设备时生效,无须重启。
'USB_Stock_Block.vbs '=========================================================================================== CheckOS'检查操作系统版本 CheckMeState'检查程序运行状态 main'执行主程序 '=========================================================================================== '主函数 Submain() Dimwso,windir,EnableUSB Setwso=CreateObject("WScript.Shell") SetobjNetwork=CreateObject("wscript.network") strComputer=objNetwork.ComputerName Ifwso.Popup(VbCrLf&"禁用USB存储设备,请按“确定”"&VbCrLf&_ VbCrLf&"启用USB存储设备,请按“取消”(6秒后自动取消)"_ ,6,"USB存储设备控制-主菜单",48+4096+1)=1Then EnableUSB=0 Else EnableUSB=1 EndIf IfExist("C:\windows\system32\cmd.exe")Thenwindir="windows" IfExist("C:\winnt\system32\cmd.exe")Thenwindir="winnt" IfEnableUSB=1Then wso.RegWrite"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\StorageDevicePolicies\WriteProtect","1","REG_DWORD"'禁止写入 wso.RegWrite"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\USBSTOR\Start","3","REG_DWORD"'启用USBStor Move"C:\"&windir&"\inf\usbstor.pnf_","C:\"&windir&"\inf\usbstor.pnf" Move"C:\"&windir&"\inf\usbstor.inf_","C:\"&windir&"\inf\usbstor.inf" Move"C:\"&windir&"\system32\drivers\usbstor.sys_","C:\"&windir&"\system32\drivers\usbstor.sys" If(NotExist("C:\"&windir&"\inf\usbstor.pnf_"))And(regKeyRead("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\USBSTOR\Start")=3)Then wso.PopupVbCrLf&"启用USB存储设备成功。 ",5,"USB存储设备控制-操作完成",64+4096 Else wso.PopupVbCrLf&"启用USB存储设备失败。 ",5,"USB存储设备控制-操作完成",16+4096 EndIf Else wso.RegWrite"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\StorageDevicePolicies\WriteProtect","1","REG_DWORD"'禁止写入 wso.RegWrite"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\USBSTOR\Start","4","REG_DWORD"'禁用用USBStor Move"C:\"&windir&"\inf\usbstor.pnf","C:\"&windir&"\inf\usbstor.pnf_" Move"C:\"&windir&"\inf\usbstor.inf","C:\"&windir&"\inf\usbstor.inf_" Move"C:\"&windir&"\system32\drivers\usbstor.sys","C:\"&windir&"\system32\drivers\usbstor.sys_" If(NotExist("C:\"&windir&"\inf\usbstor.pnf"))And(regKeyRead("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\USBSTOR\Start")=4)Then wso.PopupVbCrLf&"禁用USB存储设备成功。 ",5,"USB存储设备控制-操作完成",64+4096 Else wso.PopupVbCrLf&"禁用USB存储设备失败。 ",5,"USB存储设备控制-操作完成",16+4096 EndIf Endif Setwso=Nothing EndSub '=========================================================================================== '小函数 FunctionExist(strPath) 'OnErrorResumeNext Setfso=CreateObject("Scripting.FileSystemObject") If((fso.FolderExists(strPath))Or(fso.FileExists(strPath)))then Exist=True Else Exist=False Endif Setfso=Nothing EndFunction SubMove(strSource,strDestination) OnErrorResumeNext IfExist(strSource)Then Setfso=CreateObject("Scripting.FileSystemObject") If(fso.FileExists(strSource))Thenfso.MoveFilestrSource,strDestination If(fso.FolderExists(strSource))Thenfso.MoveFolderstrSource,strDestination Setfso=Nothing Else WarningInfo"警告","找不到"&strSource&"文件!",2 EndIf IfNotExist(strDestination)ThenWarningInfo"警告","移动失败,无法移动"&VbCrLf&strSource&"至"&VbCrLf&strDestination,2 EndSub FunctionregKeyRead(strKey) Setwso=CreateObject("WScript.Shell") regKeyRead=wso.RegRead(strKey)'strKey="HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\DocTip" Setwso=Nothing EndFunction '=========================================================================================== '是否重复运行 SubCheckMeState() IfIsRun(WScript.ScriptFullName)Then Setwso=CreateObject("WScript.Shell") Ifwso.Popup("程序已运行,请不要重复运行本程序!"&VbCrLf&VbCrLf&_ "退出已运行程序,请按“确定”,否则请按“取消”。(3秒后自动取消)"_ ,3,"警告",1)=1Then KillMeAllRun EndIf Setwso=Nothing 'WarningInfo"警告:","程序已运行,请不要重复运行本程序!!",1 WScript.Quit EndIf EndSub '检测是否重复运行 FunctionIsRun(appPath) IsRun=False ForEachpsinGetObject("winmgmts:\\.\root\cimv2:win32_process").instances_ 'IFLcase(ps.name)="mshta.exe"Then IFLcase(ps.name)="wscript.exe"Then IFinstr(Lcase(ps.CommandLine),Lcase(appPath))Theni=i+1 EndIF next ifi>1then IsRun=True endif EndFunction '终止自身 FunctionKillMeAllRun() DimMeAllPid Setpid=Getobject("winmgmts:\\.").InstancesOf("Win32_Process") ForEachpsInpid 'ifLCase(ps.name)=LCase("mshta.exe")then IFLcase(ps.name)="wscript.exe"OrLcase(ps.name)="cscript.exe"Then IFinstr(Lcase(ps.CommandLine),Lcase(WScript.ScriptFullName))ThenMeAllPid=MeAllPid&"/PID"&ps.ProcessID&"" endif next Setwso=CreateObject("WScript.Shell") wso.Run"TASKKILL"&MeAllPid&"/F/T",0,False Setwso=Nothing Setpid=Nothing EndFunction '=========================================================================================== '检查操作系统版本 SubCheckOS() Dimos_ver os_ver=GetSystemVersion Ifos_ver>=60Oros_ver<=50Then Msgbox"不支持该操作系统! ",48+4096,"警告" WScript.Quit'退出程序 EndIf EndSub '取得操作系统版本 FunctionGetSystemVersion() Dimos_obj,os_version,os_version_arr Setos_obj=GetObject("winmgmts:").InstancesOf("Win32_OperatingSystem") ForEachos_infoInos_obj os_version=os_info.Version Ifos_version<>""ThenExitFor Next Setos_obj=Nothing os_version_arr=Split(os_info.Version,".") GetSystemVersion=Cint(os_version_arr(0)&os_version_arr(1)) EndFunction
到此,关于“如何使用VBS禁用或启动USB存储设备”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注恰卡编程网网站,小编会继续努力为大家带来更多实用的文章!
推荐阅读
-
怎么用vbs结合wget实现下载网站图片
本篇内容介绍了“怎么用vbs结合wget实现下载网站图片”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让...
-
vbs中如何使用Size属性
本篇文章为大家展示了vbs中如何使用Size属性,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所...
-
VBS中怎么获取当前目录下所有文件夹名字
-
vbs中怎么获取当前路径
vbs中怎么获取当前路径,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行...
-
VBS中怎么获取当前日期的前一天
本篇文章为大家展示了VBS中怎么获取当前日期的前一天,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你...
-
VBS中怎么获取GZIP压缩的HTTP内容
VBS中怎么获取GZIP压缩的HTTP内容,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章...
-
vbs中怎么获取远程host文件并保存到指定目录
vbs中怎么获取远程host文件并保存到指定目录,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问...
-
VBS中怎么获取外网IP地址并发送到指定邮箱
VBS中怎么获取外网IP地址并发送到指定邮箱,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的...
-
vbs中怎么获取radmin注册表的信息
vbs中怎么获取radmin注册表的信息,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希...
-
vbs中怎么使用wmi方法获取电脑硬件信息
这篇文章将为大家详细讲解有关vbs中怎么使用wmi方法获取电脑硬件信息,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读...