|
Export Serial Numbers and Logged On User - Using WMI |
|
|
|
Written by Carlton Colter
|
|
Monday, 19 October 2009 19:46 |
|
Need the computer name, serial number, make, model, username of logged on user for every computer in an OU? This is the script to do it. Sorry it's not commented. This was a quick script, but it works.
On Error Resume Next
Set FS = CreateObject("Scripting.FileSystemObject")
Set TXT_COMPUTERINFO = FS.OpenTextFile("Computer Info.txt", 2, True)
Dim ComputersOU
Set ComputersOU = GetObject("LDAP://OU=Computers,OU=Site XYZ,DC=mydomain,DC=com")
ComputersOU.Filter = Array("Computer")
For Each Computer in ComputersOU
ExportSerialNumber Computer.cn
Next
TXT_COMPUTERINFO.Close
MsgBox "COMPLETED!",48,"COMPUTER INFO EXPORT"
Sub ExportSerialNumber (strComputer)
Dim objWMIService
Dim colItems
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * from Win32_BaseBoard")
Dim SerialNumber
Dim Model
Dim Manufacturer
For Each objItem in colItems
Manufacturer = objItem.Manufacturer
Model = objItem.Model
SerialNumber = objItem.serialNumber
Next
Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery ("Select * from Win32_ComputerSystem")
Dim Memory
For Each objItem in colItems
Memory = objItem.TotalPhysicalMemory
Next
Dim Username
Set colItems = objWMIService.ExecQuery("Select * from Win32_LogonSession Where LogonType = 2")
For Each objItem in colItems
Dim colList
Set colList = objWMIService.ExecQuery"Associators of " _
& "{Win32_LogonSession.LogonId=" & objItem.LogonId & "} " _
& "Where AssocClass=Win32_LoggedOnUser Role=Dependent" )
Dim listItem
For Each listItem in colList
Username = listItem.Name
Next
Next
TXT_COMPUTERINFO.WriteLine strComputer & "," & Username & "," & Manufacturer & "," & Model & "," & SerialNumber & "," & Memory
End Sub
|
0 Comments