(imported topic written by larry.lotspeich91)
We have been using Crystal Reports for some time to automatically generate and mail out some monthly views of patch compliancy. I would like to move this over to Bigfix 6 now. Can someone help with this?
Here is a sample of the code:
SELECT t1.ComputerID, t5.ComputerName, t5.UserName, t5.LastReportTime, t1.ID AS ‘FixletID’, t2.Name, t3.SourceID, t3.Source, t3.Severity, t3.Category, t5.IPAddress, t5.MACAddress, t5.First3OctetsOfIP
FROM dbo.BES_RELEVANT_FIXLETS t1
INNER JOIN dbo.BES_FIXLETS t2 ON t1.ID = t2.ID
INNER JOIN
(
SELECT ID,
MAX(CASE WHEN SUBSTRING(PropertyName, 1, 15) = ‘Source ID’ THEN SUBSTRING(PropertyValue, 1, 20) ELSE ‘’ END) AS SourceID,
MAX(CASE WHEN SUBSTRING(PropertyName, 1, 15) = ‘Source’ THEN SUBSTRING(PropertyValue, 1, 20) ELSE ‘’ END) AS Source,
MAX(CASE WHEN SUBSTRING(PropertyName, 1, 15) = ‘Source Severity’ THEN SUBSTRING(PropertyValue, 1, 10) ELSE ‘’ END) AS Severity,
MAX(CASE WHEN SUBSTRING(PropertyName, 1, 8) = ‘Category’ THEN SUBSTRING(PropertyValue, 1, 20) ELSE ‘’ END) AS Category
FROM dbo.BES_FIXLET_PROPERTIES
WHERE SUBSTRING(PropertyName, 1, 15) IN (‘Source ID’, ‘Source’, ‘Source Severity’, ‘Category’)
GROUP BY ID
INNER JOIN
(
SELECT ComputerID,
MAX(CASE WHEN SUBSTRING(Name, 1, 10) = ‘Ip Address’ THEN SUBSTRING(Value, 1, 100) ELSE ‘’ END) AS IPAddress,
MAX(CASE WHEN SUBSTRING(Name, 1, 9) = ‘User Name’ THEN SUBSTRING(Value, 1, 20) ELSE ‘’ END) AS UserName,
MAX(CASE WHEN SUBSTRING(Name, 1, 16) = ‘Last Report Time’ THEN SUBSTRING(Value, 1, 35) ELSE ‘’ END) AS LastReportTime,
MAX(CASE WHEN SUBSTRING(Name, 1, 13) = ‘Computer Name’ THEN SUBSTRING(Value, 1, 20) ELSE ‘’ END) AS ComputerName,
MAX(CASE WHEN SUBSTRING(Name, 1, 11) = ‘MAC Address’ THEN SUBSTRING(Value, 1, 110) ELSE ‘’ END) AS MACAddress,
MAX(CASE WHEN SUBSTRING(Name, 1, 20) = ‘First 3 Octets of IP’ THEN SUBSTRING(Value, 1, 100) ELSE ‘’ END) AS First3OctetsOfIP
FROM dbo.BES_COLUMN_HEADINGS
WHERE SUBSTRING(Name, 1, 20) IN (‘IP Address’, ‘User Name’, ‘Last Report Time’, ‘Computer Name’, ‘MAC Address’, ‘First 3 Octets of IP’)
GROUP BY ComputerID
) as t5 ON t1.ComputerID = t5.ComputerID
WHERE
(
t5.First3OctetsOfIP LIKE '%10..
^0123456789
%’ OR
t5.First3OctetsOfIP LIKE '%10..
^0123456789
%’
)
AND
t3.Severity IN (‘Critical’, ‘Important’)