1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140
| strComputer = "."
Set objWMIService = GetObject _
("winmgmts:\\" & strComputer & "\root\microsoft\homenet")
Set colItems = objWMIService.ExecQuery("Select * from HNet_Connection")
Const ForReading = 1, ForWriting = 2
Set FichierTXT = WScript.CreateObject("WScript.Shell")
Dim fso, f
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.OpenTextFile("actvDsctvCnnct.vbs", ForWriting,true)
f.writeline("Dim vrNomConnection")
f.writeline("")
f.writeline("Function AskQuestion () ' Pose la question et renvoi la reponse: ")
f.writeline(" AskQuestion = InputBox(""Activer ou désactiver une connection réseau"" & vbCrLf _")
f.writeline(" & """" & vbCrLf _")
vrCompt = 0
For Each objItem in colItems
vrCompt = vrCompt + 1
f.writeline(" & """ & vrCompt & " = " & objItem.Name & """" & " & vbCrLf _")
Next
f.writeline(" & """" & vbCrLf _")
f.writeline(" & ""Quelles connection voulez vous activer ou désactiver ?"", ""Ici le titre"")")
f.writeline("End Function ")
f.writeline("Dim szRet ")
f.writeline("Do ")
f.writeline(" szRet = AskQuestion")
f.writeline(" Select Case szRet")
f.writeline(" Case vbNullString 'Cette etiquette se déclanche si on clique sur annuler ou quiter.")
f.writeline(" WScript.Quit ")
vrCompt2 = 0
For Each objItem in colItems
vrCompt2 = vrCompt2 + 1
f.writeline(" Case """ & vrCompt2 & """")
f.writeline(" Etiquette" & vrCompt2)
Next
f.writeline(" Case Else")
f.writeline(" SaisiNul ")
f.writeline(" End Select ")
f.writeline("Loop ")
f.writeline("")
vrCompt3 = 0
For Each objItem in colItems
vrCompt3 = vrCompt3 + 1
f.writeline("Sub Etiquette" & vrCompt3)
f.writeline(" vrNomConnection = " & """" & objItem.Name & """")
f.writeline("Etiquettec")
f.writeline("End Sub")
Next
f.writeline("Sub SaisiNul ")
f.writeline(" MsgBox ""Vous avez entrer une mauvaise saisie."" ")
f.writeline("End Sub")
f.writeline("Sub Etiquettec")
f.writeline("set WshShell = WScript.CreateObject(""WScript.Shell"")")
f.writeline("valueOS = WshShell.RegRead (""HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\"" & ""ProductName"")")
f.writeline("Const ssfCONTROLS = 3")
f.writeline("")
f.writeline("'""Connexion au réseau local"" pour une connexion réseau classique RJ45 ou ""Connexion réseau sans fil"" pour la connexion Wifi")
f.writeline("sConnectionName = vrNomConnection")
f.writeline("if InStr(1,valueOS,""xp"",1) > 0 Then sConnectionDir = ""Connexions réseau"" 'Pour Windows XP")
f.writeline("if InStr(1,valueOS,""2000"",1) > 0 Then sConnectionDir = ""Connexions réseau et accès à distance"" 'Pour Windows 2000")
f.writeline("")
f.writeline("sEnableVerb = ""&Activer""")
f.writeline("sDisableVerb = ""&Désactiver""")
f.writeline("")
f.writeline("set shellApp = createobject(""shell.application"")")
f.writeline("set oControlPanel = shellApp.Namespace(ssfCONTROLS)")
f.writeline("")
f.writeline("set oNetConnections = nothing")
f.writeline("for each folderitem in oControlPanel.items")
f.writeline(" if folderitem.name = sConnectionDir then")
f.writeline(" set oNetConnections = folderitem.getfolder: exit for")
f.writeline(" end if")
f.writeline("next")
f.writeline("")
f.writeline("if oNetConnections is nothing then")
f.writeline(" msgbox ""Ne peut trouver le dossier '""+sConnectionDir+""'""")
f.writeline(" wscript.quit")
f.writeline("end if")
f.writeline("")
f.writeline("set oLanConnection = nothing")
f.writeline("for each folderitem in oNetConnections.items")
f.writeline(" if lcase(folderitem.name) = lcase(sConnectionName) then")
f.writeline(" set oLanConnection = folderitem: exit for")
f.writeline(" end if")
f.writeline("next")
f.writeline("")
f.writeline("if oLanConnection is nothing then")
f.writeline(" msgbox ""Impossible de trouver la connection : '"" & sConnectionName & ""'""")
f.writeline(" wscript.quit")
f.writeline("end if")
f.writeline("")
f.writeline("bEnabled = true")
f.writeline("set oEnableVerb = nothing")
f.writeline("set oDisableVerb = nothing")
f.writeline("s = ""Verbs: "" & vbcrlf")
f.writeline("for each verb in oLanConnection.verbs")
f.writeline(" s = s & vbcrlf & verb.name")
f.writeline(" if verb.name = sEnableVerb then")
f.writeline(" set oEnableVerb = verb ")
f.writeline(" bEnabled = false")
f.writeline(" end if")
f.writeline(" if verb.name = sDisableVerb then")
f.writeline(" set oDisableVerb = verb ")
f.writeline(" end if")
f.writeline("next")
f.writeline("")
f.writeline("'debugging displays left just in case...")
f.writeline("'")
f.writeline("'MsgBox s ': wscript.quit")
f.writeline("'MsgBox ""Enabled: "" & bEnabled ': wscript.quit")
f.writeline("")
f.writeline("'not sure why, but invokeverb always seemed to work")
f.writeline("'for enable but not disable. ")
f.writeline("'")
f.writeline("'saving a reference to the appropriate verb object")
f.writeline("'and calling the DoIt method always seems to work.")
f.writeline("'")
f.writeline("if bEnabled then")
f.writeline("' oLanConnection.invokeverb sDisableVerb")
f.writeline(" oDisableVerb.DoIt")
f.writeline("else")
f.writeline("' oLanConnection.invokeverb sEnableVerb")
f.writeline(" oEnableVerb.DoIt")
f.writeline("end if")
f.writeline("")
f.writeline("'adjust the sleep duration below as needed...")
f.writeline("'")
f.writeline("'if you let the oLanConnection go out of scope")
f.writeline("'and be destroyed too soon, the action of the verb")
f.writeline("'may not take...")
f.writeline("'")
f.writeline("wscript.sleep 1000")
f.writeline("End Sub")
f.close
set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run "wscript actvDsctvCnnct.vbs"
'Set fsoFile = fso.getFile("actvDsctvCnnct.vbs")
' fsoFile.delete |
Partager