1:在域管理服务器上,打开组策略 2:新建一个组策略,名为GetUserInfo 3:打开组策略,用户登入时执处GetuserInfo.vbs脚本在域模式下,记录用户登入计算机数据库

Option Explicit

Dim con Set objSysInfo = CreateObject("ADSystemInfo") strUser = objSysInfo.UserName Set objUser = GetObject("LDAP://" & strUser)

userName = objUser.sAMAccountName displayName = objUser.displayName telephone = objUser.telephoneNumber

Set WshNetwork = WScript.CreateObject("WScript.Network") computerName = WshNetwork.ComputerName

serverIP = Wscript.Arguments(0) serverDB = Wscript.Arguments(1) serverUSer = Wscript.Arguments(2) serverPW = Wscript.Arguments(3)

CurrentTime=Year(Now)&"-"&Month(Now)&"-"&day(Now)&" "&Hour(Now)&":"&Minute(Now)&":"&Second(Now)

set con = wscript.CreateObject("ADODB.Connection") ConStr = "driver={sql server};Server=" + serverIP + ";Database=" + serverDB + ";uid=" + serverUSer + ";pwd=" + serverPW +";" con.Open ConStr ' 删 除在同一终端机上的登入记录,只保留最新登入记录 command = "delete from username where computername = '" + computername + "' and username = '" + userName + "'" con.Execute(command)

command = "insert into username (username,computername,logintime,displayName,telephone) values ('" command = command + userName + "','" + computerName + "','" + CurrentTime + "','" + displayName + "','" + telephone + "')" con.Execute(command)

con.Close()