It´s supposed to be a script for determine your DAT version, but isn´t tested yet.
Option Explicit
Const strOU = "OU=MySubOU,OU=MyOU,DC=mydomain,DC=com"
Const HKLM = &H80000002
Dim objFSO, objFile
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.CreateTextFile(objFSO.GetParentFolderName(W script.ScriptFullname) & "\McAfee_versions.txt", True)
Dim objConnection
Set objConnection = CreateObject("ADODB.Connection")
objConnection.Open "Provider=ADsDSOObject"
Dim objCommand
Set objCommand = CreateObject("ADODB.Command")
objCommand.ActiveConnection = objConnection
objCommand.Properties("Page Size") = 1000
' Get all names of all computer accounts
objCommand.CommandText = "SELECT name FROM 'LDAP://" & strOU & "' WHERE objectCategory='computer'"
Dim objRS
Set objRS = objCommand.Execute
' Loop through computer names and check McAfee definition versions
Dim objReg, strDAT, strMajor, strMinor
On Error Resume Next
WriteOut "Hostname" & vbTab & "Engine version" & vbTab & "DAT version"
Do Until objRS.EOF
Set objReg = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & objRS("name") & "\root\default:StdRegProv")
If Err.Number = 0 Then
objReg.GetDWORDValue HKLM, "SOFTWARE\McAfee\AVEngine", "EngineVersionMajor", strMajor
objReg.GetDWORDValue HKLM, "SOFTWARE\McAfee\AVEngine", "EngineVersionMinor", strMinor
objReg.GetDWORDValue HKLM, "SOFTWARE\McAfee\AVEngine", "AVDatVersion", strDAT
WriteOut objRS("name") & vbTab & vbTab & strMajor & "." & strMinor & vbTab & strDAT
Else
WriteOut objRS("name")
End If
Set objReg = nothing
objRS.MoveNext
Loop
Sub WriteOut(strText)
'Write text to file
objFile.WriteLine strText
' Write text to screen if running under cscript
If Instr(1, Wscript.FullName,"cscript",1) Then
Wscript.Echo strText
End If
End Sub
Const strOU = "OU=MySubOU,OU=MyOU,DC=mydomain,DC=com"
Const HKLM = &H80000002
Dim objFSO, objFile
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.CreateTextFile(objFSO.GetParentFolderName(W script.ScriptFullname) & "\McAfee_versions.txt", True)
Dim objConnection
Set objConnection = CreateObject("ADODB.Connection")
objConnection.Open "Provider=ADsDSOObject"
Dim objCommand
Set objCommand = CreateObject("ADODB.Command")
objCommand.ActiveConnection = objConnection
objCommand.Properties("Page Size") = 1000
' Get all names of all computer accounts
objCommand.CommandText = "SELECT name FROM 'LDAP://" & strOU & "' WHERE objectCategory='computer'"
Dim objRS
Set objRS = objCommand.Execute
' Loop through computer names and check McAfee definition versions
Dim objReg, strDAT, strMajor, strMinor
On Error Resume Next
WriteOut "Hostname" & vbTab & "Engine version" & vbTab & "DAT version"
Do Until objRS.EOF
Set objReg = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & objRS("name") & "\root\default:StdRegProv")
If Err.Number = 0 Then
objReg.GetDWORDValue HKLM, "SOFTWARE\McAfee\AVEngine", "EngineVersionMajor", strMajor
objReg.GetDWORDValue HKLM, "SOFTWARE\McAfee\AVEngine", "EngineVersionMinor", strMinor
objReg.GetDWORDValue HKLM, "SOFTWARE\McAfee\AVEngine", "AVDatVersion", strDAT
WriteOut objRS("name") & vbTab & vbTab & strMajor & "." & strMinor & vbTab & strDAT
Else
WriteOut objRS("name")
End If
Set objReg = nothing
objRS.MoveNext
Loop
Sub WriteOut(strText)
'Write text to file
objFile.WriteLine strText
' Write text to screen if running under cscript
If Instr(1, Wscript.FullName,"cscript",1) Then
Wscript.Echo strText
End If
End Sub
Comment