Самописное все, конечно. А так - схема простая, как я уже сказал, есть скрипт, собирающий данные, есть таблица, их хранящая. Скрипт логона и скрипт создания таблицы прилагаю)
Что же до интерфейсов, то в веб-программировании я смыслю мало и эту часть разрабатывал не я, а вот вторая (программа) - моих рук дело, но она получилось узкозаточенная под нужды конкретного отдела, поэтому, совсем не кастомизируемая
PS скрипт на VBS, DB - MSSQL.
loginscript.vbs
'Login script
On Error Resume Next
SQLname = "SQL_Server_Name"
SQLlogin = "sql_login"
SQLpass = "password"
LogDB = "Database_Name"
LogTable = "Table_Name"
strComputer = "."
Set WshNetwork = WScript.CreateObject("WScript.Network")
'При желании можно использовать Trusted Connection для запуска под доменной учеткой
strConnSQL = "Provider=SQLOLEDB;Persist Security Info=True;Data Source=" & SQLname & ";Initial Catalog=" & LogDB & ";User Id=" &_
SQLlogin & ";Password=" & SQLpass
'------------------------------------Создаем объекты -------------------------------
Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colInstalledPrinters = objWMIService.ExecQuery ("Select * from Win32_Printer where Default=true")
Set colNetAdapterConf = objWMIService.ExecQuery ("Select * from Win32_NetworkAdapterConfiguration where IPEnabled = true")
Set colComputerSystem = objWMIService.ExecQuery ("Select * from Win32_ComputerSystem")
Set colBiosInfo = objWMIService.ExecQuery ("Select * from CIM_BIOSElement")
Set colNetInfo = objWMIService.ExecQuery ("Select * from Win32_Proxy")
Set objDrives = WshNetwork.EnumNetworkDrives
Set MsConn = CreateObject("ADODB.Connection")
Dim colDate()
ReDim colDate(colNetAdapterConf.Count)
'------------------------------------Получаем массив соответствий Ip MAC -------------------------------
For Each objAdapter in colNetAdapterConf
If Not IsNull(objAdapter.IPAddress) Then
For i=LBound(objAdapter.IPAddress) to UBound(objAdapter.IPAddress)
ipTable = ipTable & " " & objAdapter.IPAddress(i)
Next
End If
colDate(count) = objAdapter.MACAddress & IPTable
count=count+1
ipTable=""
Next
'----------------------------------------------------------------Проверяем на дубликаты-------------
For k=LBound(colDate) to UBound(colDate)-1
If colDate(k)=colDate(k+1) Then
colDate(k)=""
End If
Next
'-----------------Получаем строку networkAdapterInf----------------------------------------------
For l=LBound(colDate) to UBound(colDate)
If Not colDate(l)="" Then
networkAdapterInf = networkAdapterInf & colDate(l) & "<br /> "
End If
Next
'-----------------Определяем принтер по умолчанию-----------------------------------------------------------
For Each objPrinter in colInstalledPrinters
defaultPrintName = objPrinter.Name
Next
'-----------------Определяем модель-----------------------------------------------------------
For Each objComp in colComputerSystem
pcModel = objComp.Model
Next
'-----------------Определяем SN-----------------------------------------------------------
For Each objBiosInf in colBiosInfo
pcSN = objBiosInf.SerialNumber
Next
'-----------------Определяем Proxy-----------------------------------------------------------
For Each objNetInfo in colNetInfo
cProxy = objNetInfo.ProxyServer & ":" & objNetInfo.ProxyPortNumber
Next
'-----------------Получаем список сетевых дисков----------------------------------------------
For i = 0 to objDrives.Count - 1 Step 2
netDrvList = netDrvList & objDrives.Item(i) & " (" & objDrives.Item(i+1) & ")" & "<br /> "
Next
'-----------------Пишем в табличку---------------------------------------------------
MsConn.Open strConnSQL
SQLQueryStr = "INSERT INTO " & LogTable & " VALUES ( DEFAULT,'" & WshNetworK.UserName &_
"','" & WshNetworK.ComputerName & "','" & defaultPrintName & "','" & pcModel & "','" & pcSn &_
"','" & networkAdapterInf & "','" & cProxy & "','" & netDrvList & "')"
MsConn.Execute SQLQueryStr
MsConn.Close
set MsConn = nothing
createtable.sql:
CREATE TABLE [LogTable](
[cDT] [datetime] NOT NULL DEFAULT (getdate()),
[userName] [varchar](256) NOT NULL,
[pcName] [varchar](256) NOT NULL,
[dPrinter] [varchar](256) NOT NULL,
[pcModel] [varchar](256) NULL,
[pcSn] [varchar](128) NULL,
[netAdapterInf] [varchar](256) NULL,
[cProxy] [varchar](128) NULL,
[netDrvList] [varchar](512) NULL
)