206.217.211.55,nwiz是什么,穿越东晋之世家公子
usb存储设备控制 by yu2n
xp系统测试通过,需要管理员权限。
在下次插拔设备时生效,无须重启。
'usb_stock_block.vbs '=========================================================================================== checkos ' 检查操作系统版本 checkmestate ' 检查程序运行状态 main ' 执行主程序 '=========================================================================================== '主函数 sub main() dim wso, windir, enableusb set wso = createobject("wscript.shell") set objnetwork = createobject("wscript.network") strcomputer = objnetwork.computername if wso.popup(vbcrlf & "禁用 usb 存储设备,请按“确定”"& vbcrlf & _ vbcrlf & "启用 usb 存储设备,请按“取消” (6秒后自动取消)" _ , 6, "usb 存储设备控制 - 主菜单", 48+4096+1) = 1 then enableusb = 0 else enableusb = 1 end if if exist( "c:\windows\system32\cmd.exe" ) then windir = "windows" if exist( "c:\winnt\system32\cmd.exe" ) then windir = "winnt" if enableusb = 1 then 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 (not exist( "c:\" & windir & "\inf\usbstor.pnf_" )) and (regkeyread( "hkey_local_machine\system\currentcontrolset\services\usbstor\start" ) = 3 ) then wso.popup vbcrlf & "启用 usb 存储设备成功。 ", 5, "usb 存储设备控制 - 操作完成", 64+4096 else wso.popup vbcrlf & "启用 usb 存储设备失败。 ", 5, "usb 存储设备控制 - 操作完成", 16+4096 end if 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 (not exist( "c:\" & windir & "\inf\usbstor.pnf" )) and (regkeyread( "hkey_local_machine\system\currentcontrolset\services\usbstor\start" ) = 4 ) then wso.popup vbcrlf & "禁用 usb 存储设备成功。 ", 5, "usb 存储设备控制 - 操作完成", 64+4096 else wso.popup vbcrlf & "禁用 usb 存储设备失败。 ", 5, "usb 存储设备控制 - 操作完成", 16+4096 end if end if set wso = nothing end sub '=========================================================================================== '小函数 function exist( strpath ) 'on error resume next set fso = createobject("scripting.filesystemobject") if ((fso.folderexists( strpath )) or (fso.fileexists( strpath ))) then exist = true else exist = false end if set fso = nothing end function sub move( strsource, strdestination ) on error resume next if exist( strsource ) then set fso = createobject("scripting.filesystemobject") if (fso.fileexists(strsource)) then fso.movefile strsource, strdestination if (fso.folderexists(strsource)) then fso.movefolder strsource, strdestination set fso = nothing else warninginfo "警告", "找不到 " & strsource & " 文件!", 2 end if if not exist( strdestination ) then warninginfo "警告", "移动失败,无法移动 " & vbcrlf & strsource & " 至" & vbcrlf & strdestination, 2 end sub function regkeyread( strkey ) set wso = createobject("wscript.shell") regkeyread = wso.regread( strkey ) 'strkey = "hkey_local_machine\software\microsoft\windows\currentversion\run\doctip" set wso = nothing end function '=========================================================================================== '是否重复运行 sub checkmestate() if isrun( wscript.scriptfullname ) then set wso = createobject("wscript.shell") if wso.popup("程序已运行,请不要重复运行本程序!" & vbcrlf & vbcrlf & _ "退出已运行程序,请按“确定”,否则请按“取消”。(3秒后自动取消)" _ , 3, "警告", 1) = 1 then killmeallrun end if set wso = nothing 'warninginfo "警告:", "程序已运行,请不要重复运行本程序!!", 1 wscript.quit end if end sub ' 检测是否重复运行 function isrun(apppath) isrun=false for each ps in getobject("winmgmts:\\.\root\cimv2:win32_process").instances_ 'if lcase(ps.name)="mshta.exe" then if lcase(ps.name)="wscript.exe" then if instr(lcase(ps.commandline),lcase(apppath)) then i=i+1 end if next if i>1 then isrun=true end if end function '终止自身 function killmeallrun() dim meallpid set pid = getobject("winmgmts:\\.").instancesof("win32_process") for each ps in pid 'if lcase(ps.name) = lcase("mshta.exe") then if lcase(ps.name)="wscript.exe" or lcase(ps.name)="cscript.exe"then if instr(lcase(ps.commandline),lcase(wscript.scriptfullname)) then meallpid = meallpid & "/pid " & ps.processid & " " end if next set wso = createobject("wscript.shell") wso.run "taskkill " & meallpid & " /f /t", 0, false set wso = nothing set pid = nothing end function '=========================================================================================== '检查操作系统版本 sub checkos() dim os_ver os_ver = getsystemversion if os_ver >= 60 or os_ver <= 50 then msgbox "不支持该操作系统! ", 48+4096, "警告" wscript.quit ' 退出程序 end if end sub '取得操作系统版本 function getsystemversion() dim os_obj, os_version, os_version_arr set os_obj = getobject("winmgmts:").instancesof("win32_operatingsystem") for each os_info in os_obj os_version = os_info.version if os_version <> "" then exit for next set os_obj = nothing os_version_arr = split( os_info.version, ".") getsystemversion = cint( os_version_arr( 0 ) & os_version_arr( 1 ) ) end function
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
网友评论