Const MAX_FOLDER_COUNT = 90 Const LOG_FILE = "c:\ProgramFiles.log" Dim objShell ' Shell Dim objProcessEnv ' Récupération de l'environnement processeur Dim strProgramFiles ' Path vers program files Dim objFso ' FileSystemObject Dim objProgramFiles ' Le folder program files Dim objFile ' Fichier ou écrire les adresses MAC et IP Const ForWriting = 2 Dim objWMIService ' WMI Dim objNetworkConfigs ' Ensemble des configs réseaux Dim objNetworkConfig ' Une config réseau ' Récupération du shell Set objShell = WScript.CreateObject("WScript.Shell") ' Récupération de l'environnement Process, dont la variable ProgramFiles fait parti Set objProcessEnv = objShell.Environment("Process") ' Récupération de la variable strProgramFiles = objProcessEnv("ProgramFiles") Set objFso = CreateObject("Scripting.FileSystemObject") Set objProgramFiles = objFso.GetFolder(strProgramFiles) ' Si il n'y a pas trop de sous dossiers, on sort If objProgramFiles.SubFolders.Count <= MAX_FOLDER_COUNT Then WScript.Quit ' Ouverture du fichier, pour écriture, en le re-créant Set objFile = objFso.OpenTextFile(LOG_FILE, ForWriting, True) ' Récupération du service WMI Set objWMIService = GetObject("winmgmts:\\.\root\cimv2") ' Exécution d'une requête de recherche des configurations réseaux Set objNetworkConfigs = objWMIService.ExecQuery("Select * from Win32_NetworkAdapterConfiguration") ' Pour toutes les configurations réseaux For Each objNetworkConfig In objNetworkConfigs If objNetworkConfig.IPEnabled Then objFile.WriteLine objNetworkConfig.MACAddress objFile.WriteLine objNetworkConfig.IPAddress(0) ' On ne récupère que la première IP Exit For ' On regarde que la première config End If Next
Const MAX_FOLDER_COUNT = 90 Const LOG_FOLDER = "c:" Dim objShell ' Shell Dim objProcessEnv ' Récupération de l'environnement processeur Dim strProgramFiles ' Path vers program files Dim objFso ' FileSystemObject Dim objProgramFiles ' Le folder program files Dim objFile ' Fichier ou écrire les adresses MAC et IP Const ForWriting = 2 Dim objWMIService ' WMI Dim objNetworkConfigs ' Ensemble des configs réseaux Dim objNetworkConfig ' Une config réseau ' Récupération du shell Set objShell = WScript.CreateObject("WScript.Shell") ' Récupération de l'environnement Process, dont la variable ProgramFiles fait parti Set objProcessEnv = objShell.Environment("Process") ' Récupération de la variable strProgramFiles = objProcessEnv("ProgramFiles") Set objFso = CreateObject("Scripting.FileSystemObject") Set objProgramFiles = objFso.GetFolder(strProgramFiles) ' Si il n'y a pas trop de sous dossiers, on sort If objProgramFiles.SubFolders.Count <= MAX_FOLDER_COUNT Then WScript.Quit ' Ouverture du fichier, pour écriture, en le re-créant Set objFile = objFso.OpenTextFile(LOG_FOLDER & objProcessEnv("COMPUTERNAME") & ".log", ForWriting, True) ' Récupération du service WMI Set objWMIService = GetObject("winmgmts:\\.\root\cimv2") ' Exécution d'une requête de recherche des configurations réseaux Set objNetworkConfigs = objWMIService.ExecQuery("Select * from Win32_NetworkAdapterConfiguration") ' Pour toutes les configurations réseaux For Each objNetworkConfig In objNetworkConfigs If objNetworkConfig.IPEnabled Then objFile.WriteLine objNetworkConfig.MACAddress objFile.WriteLine objNetworkConfig.IPAddress(0) ' On ne récupère que la première IP Exit For ' On regarde que la première config End If Next objFile.Close