Prefacio, el autor quería desarrollar un sistema MIS hace algún tiempo. Dado que MIS es un software no libre, también debe desarrollar el módulo de registro correspondiente al completar el desarrollo del sistema. Entonces, durante el registro para la selección de códigos de función, elegí una dirección MAC de tarjeta de red única. Sin más, vayamos al grano. Dado que este sistema es software comercial, el siguiente código solo contiene ideas de código y código de implementación simple. Puede jugar libremente con el código o discutirlo conmigo.
'----------------------Extraer información sobre todas las tarjetas de red--------------------'
Función pública GetMacInfo()
En caso de error, reanudar siguiente
Dim fso, FileStr, AspSleepThread, CmdStr, SysDir, wshshell, CmdRe, MacFileContentFile, MacFileContent
Const MacFile = "TmpYesoulSoft001.LLP"
Establecer fso = Server.CreateObject("Scripting.FileSystemObject")
SysDir = Dividir(GlobalMod.GetSysDir, ",")(1)
Si InStr(LCase(SysDir), "system32") = 0 Entonces
GetMacInfo = "Este sistema sólo puede ejecutarse en sistemas de 32 bits como Nt, Windows 2000, Windows.Net, Windows Xp, Windows 2003, etc. ¡Los sistemas inferiores a 32 bits no son compatibles!"
'www.downcodes.com
Función de salida
Demás
CmdStr = SysDir + "Cmd.exe /C " + SysDir + "Ipconfig.exe /All > " + Server.MapPath(MacFile)
Terminar si
CmdRe = Shell(CmdStr, vbHide)
Si CmdRe <> 0 Entonces
Establecer MacFileContentFile = fso.OpenTextFile(Server.MapPath(MacFile), 1, Falso, TristateUseDefault)
'GetMacInfo = MacFileContentFile.ReadAll()
'Respuesta.Flush
FileStr = MacFileContentFile.ReadAll()
MacFileContentFile.Cerrar
Establecer MacFileContentFile = Nada
Establecer AspSleepThread = Server.CreateObject("YesoulSoft.SleepThread")
'Definir el tiempo que se cuelga el hilo, aquí son milisegundos
AspSleepThread.SleepTime = 500
AspSleepThread.BeginSleepThread
GetMacInfo = ExecuteOne(FileStr, "Dirección física. . . . . . . . . : (.*)")
Establecer AspSleepThread = Nada
Demás
GetMacInfo = "El sistema actualmente no puede obtener la información de su red. ¡Verifique la relación de herencia de permisos antes de ejecutar este sistema!"
Función de salida
Terminar si
Archivo DelFile MacFile
Establecer fso = Nada
Función final
'------------------Coincide con el resultado una vez en la cadena------------------'
Función pública Ejecutar uno (inpStr, PatStr)
Dim ore, omatch, omatches
Establecer oRe = Nueva RegExp
oRe.Patrón = PatStr
entradaStr = LCase(entradaStr)
oRe.IgnoreCase = Verdadero
Establecer oMatches = oRe.Execute(inpStr)
Establecer oCoincidencia = oCoincidencia(0)
EjecutarUno = oMatch.SubMatches(0)
de función final
solo puede obtener la dirección MAC de la primera tarjeta de red. En cuanto a DNS, puerta de enlace y otra información, puede sacar inferencias de un ejemplo.