Board logo

标题: [技术讨论] VBS脚本禁用、启用本地连接/指定网卡 [打印本页]

作者: youxi01    时间: 2008-1-5 22:15     标题: VBS脚本禁用、启用本地连接/指定网卡

本帖最后由 pcl_test 于 2017-4-17 17:20 编辑

  1. Const ssfCONTROLS = 3
  2. sConnectionName = "本地连接"  '可改成需要控制的连接名称,如"无线网络连接"等
  3. sEnableVerb = "启用(&A)"
  4. sDisableVerb = "禁用(&B)"   'XP系统中应为 "停用(&B)"
  5. set shellApp = createobject("shell.application")
  6. set oControlPanel = shellApp.Namespace(ssfCONTROLS)
  7. set oNetConnections = nothing
  8. for each folderitem in oControlPanel.items
  9. if folderitem.name  = "网络连接" then
  10.    set oNetConnections = folderitem.getfolder: exit for
  11. end if
  12. next
  13. if oNetConnections is nothing then
  14. msgbox "未找到网络连接文件夹"
  15. wscript.quit
  16. end if
  17. set oLanConnection = nothing
  18. for each folderitem in oNetConnections.items
  19. if lcase(folderitem.name)  = lcase(sConnectionName) then
  20.    set oLanConnection = folderitem: exit for
  21. end if
  22. next
  23. if oLanConnection is nothing then
  24. msgbox "未找到 '" & sConnectionName & "' item"
  25. wscript.quit
  26. end if
  27. bEnabled = true
  28. set oEnableVerb = nothing
  29. set oDisableVerb = nothing
  30. s = "Verbs: " & vbcrlf
  31. for each verb in oLanConnection.verbs
  32. s = s & vbcrlf & verb.name
  33. if verb.name = sEnableVerb then
  34.    set oEnableVerb = verb  
  35.    bEnabled = false
  36. end if
  37. if verb.name = sDisableVerb then
  38.    set oDisableVerb = verb  
  39. end if
  40. next
  41. 'debugging displays left just in case...
  42. '
  43. 'msgbox s ': wscript.quit
  44. 'msgbox "Enabled: " & bEnabled ': wscript.quit
  45. 'not sure why, but invokeverb always seemed to work
  46. 'for enable but not disable.  
  47. '
  48. 'saving a reference to the appropriate verb object
  49. 'and calling the DoIt method always seems to work.
  50. '
  51. if bEnabled then
  52. '  oLanConnection.invokeverb sDisableVerb
  53. oDisableVerb.DoIt
  54. else
  55. '  oLanConnection.invokeverb sEnableVerb
  56. oEnableVerb.DoIt
  57. end if
  58. 'adjust the sleep duration below as needed...
  59. '
  60. 'if you let the oLanConnection go out of scope
  61. 'and be destroyed too soon, the action of the verb
  62. 'may not take...
  63. '
  64. wscript.sleep 400
复制代码





欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2