On Error Resume Next Dim strComputer, objWMIService Dim varConnectionID, strMACAddress, strInterfaceIndex, varIPAddress, varGateway Dim regValueDataMetric Dim WSHShell, Commande, varChangeRouteCommand strComputer = "." Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2") 'Option Explicit regValueDataMetric = "35" Wscript.Echo "Listage de toutes les cartes reseau dans Win32_NetworkAdapter." Wscript.Echo "Win32_NetworkAdapter permet de recuperer le nom de la carte reseau que l on voit dans les connexions reseau." Wscript.Echo "La carte wifi sera reperee via son nom ou vous aurez au prealable mit le mot cle : wifi" Wscript.Echo "On retiendra alors son adresse MAC" 'Set colItems = objWMIService.ExecQuery("Select * From Win32_NetworkAdapter Where NetConnectionID = 'Wireless Network Connection'") Set colItems = objWMIService.ExecQuery("Select * From Win32_NetworkAdapter") For Each objItem in colItems varConnectionID = objItem.NetConnectionID varConnectionID = Trim(varConnectionID) If Len(varConnectionID) > 0 Then Wscript.Echo "NetConnectionID: " & varConnectionID 'Nom affiche sous Windows" 'Position = InStr(1, Lcase(objItem.Name), "802.11") Position = InStr(1, Lcase(objItem.NetConnectionID), "wifi") 'On recherche le mot "wifi" au niveau du nom de la carte réseau If Position > 0 Then 'Si on a trouvé une carte réseau qui contient le mot "wifi" dans son nom Wscript.Echo VbTab & "La carte contient le mot cle wifi !" Wscript.Echo "" Wscript.Echo VbTab & "Name: " & objItem.Name Wscript.Echo VbTab & "Description: " & objItem.Description Wscript.Echo VbTab & "Caption : " & objItem.Caption strMACAddress = objItem.MACAddress strInterfaceIndex = objItem.InterfaceIndex Wscript.Echo VbTab & "MACAddress: " & strMACAddress Wscript.Echo VbTab & "Interface Index: " & strInterfaceIndex If 1 = 2 Then Wscript.Echo VbTab & "-----------------------------------" Wscript.Echo VbTab & "Win32_NetworkAdapter instance" Wscript.Echo VbTab & "-----------------------------------" Wscript.Echo VbTab & "AdapterType: " & objItem.AdapterType Wscript.Echo VbTab & "AdapterTypeId: " & objItem.AdapterTypeId Wscript.Echo VbTab & "AutoSense: " & objItem.AutoSense Wscript.Echo VbTab & "Availability: " & objItem.Availability Wscript.Echo VbTab & "Caption: " & objItem.Caption Wscript.Echo VbTab & "ConfigManagerErrorCode: " & objItem.ConfigManagerErrorCode Wscript.Echo VbTab & "ConfigManagerUserConfig: " & objItem.ConfigManagerUserConfig Wscript.Echo VbTab & "CreationClassName: " & objItem.CreationClassName Wscript.Echo VbTab & "Description: " & objItem.Description Wscript.Echo VbTab & "DeviceID: " & objItem.DeviceID Wscript.Echo VbTab & "ErrorCleared: " & objItem.ErrorCleared Wscript.Echo VbTab & "ErrorDescription: " & objItem.ErrorDescription Wscript.Echo VbTab & "GUID: " & objItem.GUID Wscript.Echo VbTab & "Index: " & objItem.Index Wscript.Echo VbTab & "InstallDate: " & objItem.InstallDate Wscript.Echo VbTab & "Installed: " & objItem.Installed Wscript.Echo VbTab & "InterfaceIndex: " & objItem.InterfaceIndex Wscript.Echo VbTab & "LastErrorCode: " & objItem.LastErrorCode Wscript.Echo VbTab & "MACAddress: " & objItem.MACAddress Wscript.Echo VbTab & "Manufacturer: " & objItem.Manufacturer Wscript.Echo VbTab & "MaxNumberControlled: " & objItem.MaxNumberControlled Wscript.Echo VbTab & "MaxSpeed: " & objItem.MaxSpeed Wscript.Echo VbTab & "Name: " & objItem.Name Wscript.Echo VbTab & "NetConnectionID: " & objItem.NetConnectionID Wscript.Echo VbTab & "NetConnectionStatus: " & objItem.NetConnectionStatus Wscript.Echo VbTab & "NetEnabled: " & objItem.NetEnabled If isNull(objItem.NetworkAddresses) Then Wscript.Echo VbTab & "NetworkAddresses: " Else Wscript.Echo VbTab & "NetworkAddresses: " & Join(objItem.NetworkAddresses, ",") End If Wscript.Echo VbTab & "PermanentAddress: " & objItem.PermanentAddress Wscript.Echo VbTab & "PhysicalAdapter: " & objItem.PhysicalAdapter Wscript.Echo VbTab & "PNPDeviceID: " & objItem.PNPDeviceID If isNull(objItem.PowerManagementCapabilities) Then Wscript.Echo VbTab & "PowerManagementCapabilities: " Else Wscript.Echo VbTab & "PowerManagementCapabilities: " & Join(objItem.PowerManagementCapabilities, ",") End If Wscript.Echo VbTab & "PowerManagementSupported: " & objItem.PowerManagementSupported Wscript.Echo VbTab & "ProductName: " & objItem.ProductName Wscript.Echo VbTab & "ServiceName: " & objItem.ServiceName Wscript.Echo VbTab & "Speed: " & objItem.Speed Wscript.Echo VbTab & "Status: " & objItem.Status Wscript.Echo VbTab & "StatusInfo: " & objItem.StatusInfo Wscript.Echo VbTab & "SystemCreationClassName: " & objItem.SystemCreationClassName Wscript.Echo VbTab & "SystemName: " & objItem.SystemName Wscript.Echo VbTab & "TimeOfLastReset: " & objItem.TimeOfLastReset End If Exit For End If End If Next Wscript.Echo "" Wscript.Echo "Liste de toutes les cartes reseau avec IPEnabled a true contenues dans Win32_NetworkAdapterConfiguration" Set colNetCard = objWMIService.ExecQuery("Select * From Win32_NetworkAdapterConfiguration where IPEnabled=TRUE") For Each objNetCard in colNetCard For Each strIPAddress in objNetCard.IPAddress Wscript.Echo "Description: " & objNetCard.Description Wscript.Echo VbTab & "IP Address: " & strIPAddress If isNull(objNetCard.DefaultIPGateway) Then Wscript.Echo VbTab & "DefaultIPGateway: " Else Wscript.Echo VbTab & "DefaultIPGateway: " & Join(objNetCard.DefaultIPGateway, ",") End If varGateway = objNetCard.DefaultIPGateway(0) Wscript.Echo VbTab & "IPConnectionMetric: " & objNetCard.IPConnectionMetric If 1 = 2 Then Wscript.Echo VbTab & "ArpAlwaysSourceRoute: " & objNetCard.ArpAlwaysSourceRoute Wscript.Echo VbTab & "ArpUseEtherSNAP: " & objNetCard.ArpUseEtherSNAP Wscript.Echo VbTab & "Caption: " & objNetCard.Caption Wscript.Echo VbTab & "DatabasePath: " & objNetCard.DatabasePath Wscript.Echo VbTab & "DeadGWDetectEnabled: " & objNetCard.DeadGWDetectEnabled Wscript.Echo VbTab & "DefaultTOS: " & objNetCard.DefaultTOS Wscript.Echo VbTab & "DefaultTTL: " & objNetCard.DefaultTTL Wscript.Echo VbTab & "Description: " & objNetCard.Description Wscript.Echo VbTab & "DHCPEnabled: " & objNetCard.DHCPEnabled Wscript.Echo VbTab & "DHCPLeaseExpires: " & objNetCard.DHCPLeaseExpires Wscript.Echo VbTab & "DHCPLeaseObtained: " & objNetCard.DHCPLeaseObtained Wscript.Echo VbTab & "DHCPServer: " & objNetCard.DHCPServer Wscript.Echo VbTab & "DNSDomain: " & objNetCard.DNSDomain If isNull(objNetCard.DNSDomainSuffixSearchOrder) Then Wscript.Echo VbTab & "DNSDomainSuffixSearchOrder: " Else Wscript.Echo VbTab & "DNSDomainSuffixSearchOrder: " & Join(objNetCard.DNSDomainSuffixSearchOrder, ",") End If Wscript.Echo VbTab & "DNSEnabledForWINSResolution: " & objNetCard.DNSEnabledForWINSResolution Wscript.Echo VbTab & "DNSHostName: " & objNetCard.DNSHostName Wscript.Echo VbTab & "DomainDNSRegistrationEnabled: " & objNetCard.DomainDNSRegistrationEnabled Wscript.Echo VbTab & "ForwardBufferMemory: " & objNetCard.ForwardBufferMemory Wscript.Echo VbTab & "FullDNSRegistrationEnabled: " & objNetCard.FullDNSRegistrationEnabled If isNull(objNetCard.GatewayCostMetric) Then Wscript.Echo VbTab & "GatewayCostMetric: " Else Wscript.Echo VbTab & "GatewayCostMetric: " & Join(objNetCard.GatewayCostMetric, ",") End If Wscript.Echo VbTab & "IGMPLevel: " & objNetCard.IGMPLevel Wscript.Echo VbTab & "Index: " & objNetCard.Index Wscript.Echo VbTab & "InterfaceIndex: " & objNetCard.InterfaceIndex If isNull(objNetCard.IPAddress) Then Wscript.Echo VbTab & "IPAddress: " Else Wscript.Echo VbTab & "IPAddress: " & Join(objNetCard.IPAddress, ",") End If Wscript.Echo VbTab & "IPFilterSecurityEnabled: " & objNetCard.IPFilterSecurityEnabled Wscript.Echo VbTab & "IPPortSecurityEnabled: " & objNetCard.IPPortSecurityEnabled If isNull(objNetCard.IPSecPermitIPProtocols) Then Wscript.Echo VbTab & "IPSecPermitIPProtocols: " Else Wscript.Echo VbTab & "IPSecPermitIPProtocols: " & Join(objNetCard.IPSecPermitIPProtocols, ",") End If If isNull(objNetCard.IPSecPermitTCPPorts) Then Wscript.Echo VbTab & "IPSecPermitTCPPorts: " Else Wscript.Echo VbTab & "IPSecPermitTCPPorts: " & Join(objNetCard.IPSecPermitTCPPorts, ",") End If If isNull(objNetCard.IPSecPermitUDPPorts) Then Wscript.Echo VbTab & "IPSecPermitUDPPorts: " Else Wscript.Echo VbTab & "IPSecPermitUDPPorts: " & Join(objNetCard.IPSecPermitUDPPorts, ",") End If Wscript.Echo VbTab & "IPUseZeroBroadcast: " & objNetCard.IPUseZeroBroadcast Wscript.Echo VbTab & "IPXAddress: " & objNetCard.IPXAddress Wscript.Echo VbTab & "IPXEnabled: " & objNetCard.IPXEnabled If isNull(objNetCard.IPXFrameType) Then Wscript.Echo VbTab & "IPXFrameType: " Else Wscript.Echo VbTab & "IPXFrameType: " & Join(objNetCard.IPXFrameType, ",") End If Wscript.Echo VbTab & "IPXMediaType: " & objNetCard.IPXMediaType If isNull(objNetCard.IPXNetworkNumber) Then Wscript.Echo VbTab & "IPXNetworkNumber: " Else Wscript.Echo VbTab & "IPXNetworkNumber: " & Join(objNetCard.IPXNetworkNumber, ",") End If Wscript.Echo VbTab & "IPXVirtualNetNumber: " & objNetCard.IPXVirtualNetNumber Wscript.Echo VbTab & "KeepAliveInterval: " & objNetCard.KeepAliveInterval Wscript.Echo VbTab & "KeepAliveTime: " & objNetCard.KeepAliveTime Wscript.Echo VbTab & "MTU: " & objNetCard.MTU Wscript.Echo VbTab & "NumForwardPackets: " & objNetCard.NumForwardPackets Wscript.Echo VbTab & "PMTUBHDetectEnabled: " & objNetCard.PMTUBHDetectEnabled Wscript.Echo VbTab & "PMTUDiscoveryEnabled: " & objNetCard.PMTUDiscoveryEnabled Wscript.Echo VbTab & "ServiceName: " & objNetCard.ServiceName Wscript.Echo VbTab & "SettingID: " & objNetCard.SettingID Wscript.Echo VbTab & "TcpipNetbiosOptions: " & objNetCard.TcpipNetbiosOptions Wscript.Echo VbTab & "TcpMaxConnectRetransmissions: " & objNetCard.TcpMaxConnectRetransmissions Wscript.Echo VbTab & "TcpMaxDataRetransmissions: " & objNetCard.TcpMaxDataRetransmissions Wscript.Echo VbTab & "TcpNumConnections: " & objNetCard.TcpNumConnections Wscript.Echo VbTab & "TcpUseRFC1122UrgentPointer: " & objNetCard.TcpUseRFC1122UrgentPointer Wscript.Echo VbTab & "TcpWindowSize: " & objNetCard.TcpWindowSize Wscript.Echo VbTab & "WINSEnableLMHostsLookup: " & objNetCard.WINSEnableLMHostsLookup Wscript.Echo VbTab & "WINSHostLookupFile: " & objNetCard.WINSHostLookupFile Wscript.Echo VbTab & "WINSScopeID: " & objNetCard.WINSScopeID End If If isNull(objNetCard.DNSServerSearchOrder) Then Wscript.Echo VbTab & "DNSServerSearchOrder: " Else Wscript.Echo VbTab & "DNSServerSearchOrder: " & Join(objNetCard.DNSServerSearchOrder, ",") End If Wscript.Echo VbTab & "IPEnabled: " & objNetCard.IPEnabled If isNull(objNetCard.IPSubnet) Then Wscript.Echo VbTab & "IPSubnet: " Else Wscript.Echo VbTab & "IPSubnet: " & Join(objNetCard.IPSubnet, ",") End If Wscript.Echo VbTab & "MACAddress: " & objNetCard.MACAddress Wscript.Echo VbTab & "WINSPrimaryServer: " & objNetCard.WINSPrimaryServer Wscript.Echo VbTab & "WINSSecondaryServer: " & objNetCard.WINSSecondaryServer If objNetCard.MACAddress = strMACAddress Then varIPAddress = strIPAddress 'On retient l'adresse Ip dans une variable à part Wscript.Echo VbTab & "Adresse Ip de la carte : " & varIPAddress Wscript.Echo VbTab & "" Wscript.Echo VbTab & "C'est la carte qui a l adresse MAC recherchee" Wscript.Echo VbTab & "C'est donc une carte Wifi ! On passe sa metrique a " & regValueDataMetric & " qui est actuellement a " & objNetCard.IPConnectionMetric intResult = objNetCard.SetIPConnectionMetric(regValueDataMetric) Wscript.Echo VbTab & "intResult : " & intResult Select Case intResult Case 0 Wscript.Echo VbTab & "Successful completion, no reboot required" Case 1 Wscript.Echo VbTab & "Successful completion, reboot required" Case 64 Wscript.Echo VbTab & "Method not supported on this platform" Case 65 Wscript.Echo VbTab & "Unknown failure" Case 66 Wscript.Echo VbTab & "Invalid subnet mask" Case 67 Wscript.Echo VbTab & "An error occurred while processing an Instance that was returned" Case 68 Wscript.Echo VbTab & "Invalid input parameter" Case 69 Wscript.Echo VbTab & "More than 5 gateways specified" Case 70 Wscript.Echo VbTab & "Invalid IP address" Case 71 Wscript.Echo VbTab & "Invalid gateway IP address" Case 72 Wscript.Echo VbTab & "An error occurred while accessing the Registry for the requested information" Case 73 Wscript.Echo VbTab & "Invalid domain name" Case 74 Wscript.Echo VbTab & "Invalid host name" Case 84 Wscript.Echo VbTab & "IP not enabled on adapter" Case 91 Wscript.Echo VbTab & "Access denied" Case 97 Wscript.Echo VbTab & "Interface not configurable" End Select Wscript.Echo VbTab & "La metrique est maintenant a " & regValueDataMetric End If Wscript.Echo "" Next Next 'strInterfaceIndex varChangeRouteCommand = "Route change 0.0.0.0 MASK 0.0.0.0 " & varGateway & " METRIC " & regValueDataMetric & " IF " & strInterfaceIndex Wscript.Echo "Commande pour changer la metrique de la carte Wifi en modifiant la table de routage :" Wscript.Echo varChangeRouteCommand 'Wscript.Echo "Avec un route print, vous pouvez aussi voir la metrique de priorite des cartes dans le champ Metrique" 'Set WSHShell = CreateObject("WScript.Shell") 'Commande = "cmd.exe /K route print" 'WSHShell.Run Commande 'Set WSHShell = Nothing