Bonjour, j'ai un pc portable, j'ai deux connection réseau, mais quand je liste mes connection réseau avec un script il me marque plusieurs fois les même connection, comment supprimer les doublon ?
Version imprimable
Bonjour, j'ai un pc portable, j'ai deux connection réseau, mais quand je liste mes connection réseau avec un script il me marque plusieurs fois les même connection, comment supprimer les doublon ?
Quelle commande utilises-tu pour afficher les connexions réseau ?
Salut ;)
Voici mon script, je ne sais plus quel parti du code liste les connection enfin c'est en haut quoi:
Code:
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
bien vu ! :yaisse2:
lance ce script qui est une adaptation du tien qui affiche en plus l'identifiant unique :
tu constateras que pour un même nom de connection, tu as plusieurs GUID, c'est pour cela que tu te retrouves avec des doublons sur le nom.Code:
1
2
3
4
5
6
7
8
9
10 strComputer = "." Set objWMIService = GetObject _ ("winmgmts:\\" & strComputer & "\root\microsoft\homenet") Set colItems = objWMIService.ExecQuery _ ("Select * from HNet_Connection") For Each objItem in colItems Wscript.Echo "Connection: " & objItem.name Wscript.Echo "GUID: " & objItem.GUID Wscript.Echo "************************************" Next
A++
La aussi ca m'en affiche en double
Tu retrouves des GUID en double ?
non