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
| Option Explicit
Dim fso, InpuFile, strComputer, objWMIService, colAdapters, strIP, strLogFile, objAdapter, InputFile, i, Ret
'On Error resume next
Set Fso = CreateObject("Scripting.FileSystemObject")
Set InputFile = fso.OpenTextFile("MachineList.Txt")
Set strLogFile = fso.OpenTextFile("C:\Output.csv",8,True)
Do While Not (InputFile.atEndOfStream)
strComputer = InputFile.ReadLine
Ret = ""
strIP = "" 'Initialisation de la chaîne
Set objWMIService = GetObject("winmgmts:" & "!\\" & strComputer & "\root\cimv2")
Set colAdapters = objWMIService.ExecQuery _
("Select * from Win32_NetworkAdapterConfiguration Where IPEnabled = 'True'")
For Each objAdapter in colAdapters
strIP = strIP & "Host name: ;" & objAdapter.DNSHostName & ";" & vbtab ' <= un point-virgule(;) est nécessaire avant le vbtab
' pour passer à la cellule suivante ainsi que dans les
' lignes suivantes
strIP = strIP & "DNS domain: ;" & objAdapter.DNSDomain & ";" & vbtab
If Not IsNull(objAdapter.DNSDomainSuffixSearchOrder) Then
strIP = strIP & "DNS suffix search list: ;" & Join(objAdapter.DNSDomainSuffixSearchOrder) & ";" & vbtab ' Utilise Join(cette valeur dépend de l'OS)
End If
strIP = strIP & "Description: ;" & objAdapter.Description & ";" & vbtab
strIP = strIP & "Physical address: ;" & objAdapter.MACAddress & ";" & vbtab
strIP = strIP & "DHCP enabled: ;" & objAdapter.DHCPEnabled & ";" & vbtab
If Not IsNull(objAdapter.IPAddress) Then
'For i = LBound(objAdapter.IPAddress) To UBound(objAdapter.IPAddress)
Ret = Join(objAdapter.IpAddress) '& ";" & vbtab
'Next
strIP = strIP & "IP address: ;" & Ret & ";" & vbtab
End If
If Not IsNull(objAdapter.IPSubnet) Then
'For i = LBound(objAdapter.IPSubnet) To UBound(objAdapter.IPSubnet)
strIP = strIP & "Subnet: ;" & Join(objAdapter.IPSubnet) & ";" & vbtab
'Next
End If
If Not IsNull(objAdapter.DefaultIPGateway) Then
'For i = LBound(objAdapter.DefaultIPGateway) To UBound(objAdapter.DefaultIPGateway)
strIP = strIP & "Default gateway: ;" & Join(objAdapter.DefaultIPGateway) & ";" & vbtab
'Next
End If
strIP = strIP & "DHCP server: ;" & objAdapter.DHCPServer & ";" & vbtab
If Not IsNull(objAdapter.DNSServerSearchOrder) Then
' For i = LBound(objAdapter.DNSServerSearchOrder) To UBound(objAdapter.DNSServerSearchOrder)
strIP = strIP & "DNS server: ;" & objAdapter.DNSServerSearchOrder(i) & ";" & vbtab
' Next
End If
strIP = strIP & "Primary WINS server: ;" & objAdapter.WINSPrimaryServer & ";" & vbtab ' disponible sur certains OS Windows pas tous
strIP = strIP & "Secondary WINS server: ;" & objAdapter.WINSSecondaryServer & ";" & vbtab ' disponible sur certains OS Windows pas tous
strIP = strIP & "Lease obtained: ;" & objAdapter.DHCPLeaseObtained & ";" & vbtab
strIP = strIP & "Lease expires: ;" & objAdapter.DHCPLeaseExpires & ";" & vbtab
'strIP = strIP & vbcrlf ' <== Pas besoin du retour à la ligne car on écrit le résultat directement
' dans le fichier ligne par ligne
strLogFile.WriteLine strIP ' On écrit ligne par ligne le contenu de strIP
strIp = "" ' réinitialisation à une chaîne vide après écriture dans le fichier
Next
Loop
'Set fso = CreateObject("Scripting.FileSystemObject")
'Set strLogFile = fso.OpenTextFile("c:\Output.csv",8,True)
'strLogFile.WriteLine strIP
strLogFile.Close
InputFile.Close
Wscript.echo "Done" |
Partager