The Windows Update Agent (WUA) has a lot of versions floating around. The newest is
WUA 3.0 version 7.2.6001.788
Who ever came up with this naming standard needs to have their head examined. Is it 3.0 or 7.2? Yes!?!?!
Several Key reasons to upgrade namely:
http://support.microsoft.com/kb/916089
http://support.microsoft.com/kb/927891
Okay cool. I also notice that in the SMS_Def.mof there is a class to track WUA version. Except that it does not work. The fix is here: http://support.microsoft.com/kb/940182
!!!Warning!!! There is a typo in the fix. At the end of step 4 there is a curly brace semicolon - }; - missing.
Good news, you don’t have to do the fix if you have Software Inventory (SINV) running in at least the default settings. SINV default settings include tracking all *.exe files. This means you can query on the WUAuclt.exe file name.
Try this query: (watch out for word wrap)
SELECT dbo.vSMS_G_System_SoftwareFile.FileName, dbo.vSMS_G_System_SoftwareFile.FileDescription, dbo.vSMS_G_System_SoftwareFile.FileVersion,
dbo.vSMS_G_System_SoftwareFile.FileSize, dbo.vSMS_G_System_SoftwareFile.ModifiedDate, dbo.vSMS_G_System_SoftwareFile.FilePath,
dbo.vSMS_G_System_SoftwareFile.FileModifiedDate, dbo.v_R_System.Name0, dbo.v_R_System.User_Domain0, dbo.v_R_System.User_Name0
FROM dbo.vSMS_G_System_SoftwareFile INNER JOIN
dbo.v_R_System ON dbo.vSMS_G_System_SoftwareFile.ClientId = dbo.v_R_System.ResourceID
WHERE (dbo.vSMS_G_System_SoftwareFile.FileName IN ('wuauclt.exe', 'wuauclt1.exe')) AND
(dbo.vSMS_G_System_SoftwareFile.FilePath = 'c:\windows\system32\')
Update for SMS 2003 - SP3 from MeenEnta
SELECT dbo.v_GS_SoftwareFile.FileName, dbo.v_GS_SoftwareFile.FileDescription,
dbo.v_GS_SoftwareFile.FileVersion,
dbo.v_GS_SoftwareFile.FileSize,
dbo.v_GS_SoftwareFile.ModifiedDate,
dbo.v_GS_SoftwareFile.FilePath,
dbo.v_R_System.Name0,
dbo.v_R_System.User_Domain0, dbo.v_R_System.User_Name0
FROM dbo.v_GS_SoftwareFile INNER JOIN dbo.v_R_System ON dbo.v_GS_SoftwareFile.ResourceID = dbo.v_R_System.ResourceID
WHERE (dbo.v_GS_SoftwareFile.FileName IN ('wuauclt.exe')) AND (dbo.v_GS_SoftwareFile.FilePath = 'c:\windows\system32\')
Order by dbo.v_GS_SoftwareFile.FileVersion, dbo.v_R_System.Name0
Another WMI QUery
select * from SMS_R_System inner join SMS_G_System_SoftwareFile on SMS_G_System_SoftwareFile.ResourceID = SMS_R_System.ResourceId where SMS_R_System.OperatingSystemNameandVersion = "Microsoft Windows NT Workstation 5.1" and SMS_G_System_SoftwareFile.FileName = "wuauclt.exe" and SMS_G_System_SoftwareFile.FilePath = "C:\\windows\\system32\\" and SMS_G_System_SoftwareFile.FileVersion < "7.2.6001.788"