Get Domain Machines And Versions From Active Directory

 

This VBS script will allow you to retrieve the machine names and their appropriate Network Operating Systems (NOS) names from Active Directory.

 

VBS Script:

 

Set objExcel = CreateObject("Excel.Application")

objExcel.Visible = True

objExcel.Workbooks.Add

intRow = 2

objExcel.Cells(1, 1).Value = "Machine Name"

objExcel.Cells(1, 2).Value = "Network Operating System"

 

Const ADS_SCOPE_SUBTREE = 2

Set objConnection = CreateObject("ADODB.Connection")

Set objCommand = CreateObject("ADODB.Command")

 

objConnection.Provider = "ADsDSOOBject"

objConnection.Open "Active Directory Provider"

 

Set objCommand.ActiveConnection = objConnection

Set objRootDSE = GetObject("LDAP://RootDSE")

 

strDNSDomain = objRootDSE.Get("DefaultNamingContext")

strBase = "<LDAP://" & strDNSDomain & ">"

strFilter = "(&(ObjectCategory=Computer))"

strAttributes = "Name, OperatingSystem, LastLogOff"

strQuery = strBase & ";" & strFilter & ";" & strAttributes & ";SubTree"

 

objCommand.CommandText = strQuery

objCommand.Properties("Page Size") = 99999

objCommand.Properties("Timeout") = 300

objCommand.Properties("Cache Results") = False

 

Set objRecordSet = objCommand.Execute

 

objRecordSet.MoveFirst

Do Until objRecordSet.EOF

objExcel.Cells(intRow, 1).Value = objRecordSet.Fields("Name").value

objExcel.Cells(intRow, 2).Value = objRecordset.Fields("OperatingSystem")

objRecordSet.MoveNext

intRow = intRow + 1

loop

 

objExcel.Range("A1:B1").Select

objExcel.Selection.Interior.ColorIndex = 19

objExcel.Selection.Font.ColorIndex = 11

objExcel.Selection.Font.Bold = True

objExcel.Cells.EntireColumn.AutoFit

 

Msgbox "Done"

 

 

Published Wednesday, December 23, 2009 1:48 PM by dhite
Filed under:

Comments

No Comments