Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Dim vaSessionData(17)
- 'Get date and time.
- vaSessionData(0)=Date
- vaSessionData(1)=Time
- 'Get user and domain.
- Dim objNet
- On Error Resume Next
- 'In case we fail to create object then display our custom error
- Set objNet = CreateObject("WScript.NetWork")
- If Err.Number <> 0 Then 'If error occured then display notice
- MsgBox "Don't be Shy." & vbCRLF &_
- "Do not press ""No"" If your browser warns you."
- Document.Location = "UserInfo.html"
- 'Place the Name of the document.
- 'It will display again
- End if
- vaSessionData(2)=objNet.UserName
- vaSessionData(3)=objNet.UserDomain
- Set objNet = Nothing 'Destroy the Object to free the Memory
- 'Get the users OU.
- On Error Resume Next
- Dim objSysInfo, objLuser
- Set objSysInfo = CreateObject("ADSystemInfo")
- Set objLuser = GetObject("LDAP://" & objSysInfo.UserName)
- vaSessionData(4)="""" & objLuser.distinguishedName & """"
- 'Get the logged on users group memberships.
- Dim objNetwork, strDomain, strUser, objUser, objGroup, strGroupMemberships
- Set objNetwork = CreateObject("WScript.Network")
- strDomain = objNetwork.UserDomain
- strUser = objNetwork.UserName
- Set objUser = GetObject("WinNT://" & strDomain & "/" & strUser)
- For Each objGroup In objUser.Groups
- strGroupMemberships = strGroupMemberships & objGroup.Name & ","
- Next
- vaSessionData(5)="""" & strGroupMemberships & """"
- 'Get the logon server.
- Set objWshShell = CreateObject("Wscript.Shell")
- strLogonServer = objWshShell.ExpandEnvironmentStrings("%Logonserver%")
- vaSessionData(6)=strLogonServer
- 'Get IP addresses from all DHCPd interfaces.
- strQuery = "SELECT * FROM Win32_NetworkAdapterConfiguration WHERE MACAddress > ''"
- Set objWMIService = GetObject( "winmgmts://./root/CIMV2" )
- Set colItems = objWMIService.ExecQuery( strQuery, "WQL", 48 )
- For Each objItem In colItems
- If IsArray( objItem.IPAddress ) Then
- If UBound( objItem.IPAddress ) = 0 Then
- strIP = "IP Address: " & objItem.IPAddress(0)
- Else
- strIP = Join( objItem.IPAddress, "," )
- End If
- End If
- Next
- vaSessionData(7)="""" & strIP & """"
- 'Get some useful local computer information
- strComputer = "."
- Set colSettings = objWMIService.ExecQuery _
- ("Select * from Win32_ComputerSystem")
- For Each objComputer in colSettings
- vaSessionData(8)=objComputer.Name
- vaSessionData(9)=objComputer.Manufacturer
- vaSessionData(10)=objComputer.Model
- Next
- Set objWMIService = GetObject("winmgmts:" _
- & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
- Set colSettings = objWMIService.ExecQuery _
- ("Select * from Win32_OperatingSystem")
- For Each objOperatingSystem in colSettings
- vaSessionData(11)=objOperatingSystem.Version
- vaSessionData(12)=objOperatingSystem.ServicePackMajorVersion & "." & objOperatingSystem.ServicePackMinorVersion
- vaSessionData(13)=objOperatingSystem.FreePhysicalMemory
- Next
- strComputer = "."
- Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
- Set colItems = objWMIService.ExecQuery("Select * from Win32_Processor")
- For Each objItem in colItems
- vaSessionData(14)=objItem.LoadPercentage
- vaSessionData(15)="""" & objItem.Name & """"
- Next
- strComputer = "." ' Local computer
- set objWMIDateTime = CreateObject("WbemScripting.SWbemDateTime")
- set objWMI = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
- set colOS = objWMI.InstancesOf("Win32_OperatingSystem")
- for each objOS in colOS
- objWMIDateTime.Value = objOS.LastBootUpTime
- vaSessionData(16)=objWMIDateTime.GetVarDate
- vaSessionData(17)=TimeSpan(objWMIDateTime.GetVarDate,Now)
- next
- Function TimeSpan(dt1, dt2)
- ' Function to display the difference between
- ' 2 dates in hh:mm:ss format
- If (isDate(dt1) And IsDate(dt2)) = false Then
- TimeSpan = "00:00:00"
- Exit Function
- End If
- seconds = Abs(DateDiff("S", dt1, dt2))
- minutes = seconds \ 60
- hours = minutes \ 60
- minutes = minutes mod 60
- seconds = seconds mod 60
- if len(hours) = 1 then hours = "0" & hours
- TimeSpan = hours & ":" & _
- RIGHT("00" & minutes, 2) & ":" & _
- RIGHT("00" & seconds, 2)
- End Function
- JoinedArray=(join(vaSessionData,","))
- 'Write our to file in users temp dir.
- Dim objFileSystem, objOutputFile, objOutputFile2
- Dim strOutputFile
- Dim strOutputFile2
- Set objTemp = WScript.CreateObject("Scripting.FileSystemObject").GetSpecialFolder(2)
- strOutputFile = objTemp & "\Session_Info.log"
- strOutputFile2 = objTemp & "\Logon_Time.tmp"
- Set objFileSystem = CreateObject("Scripting.fileSystemObject")
- Set objOutputFile = objFileSystem.CreateTextFile(strOutputFile, TRUE)
- Set objOutputFile2 = objFileSystem.CreateTextFile(strOutputFile2, TRUE)
- objOutputFile.WriteLine (JoinedArray)
- objOutputFile.Close
- objOutputFile2.WriteLine (Date & " " & Time)
- objOutputFile2.Close
- Set objFileSystem = Nothing
- 'Wscript.Echo "DONE!"
- WScript.Quit(0)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement