SELECT arp.DisplayName0, arp.Version0, COUNT(DISTINCT dbo.v_R_System.ResourceID) AS 'Count'
FROM dbo.v_GS_ADD_REMOVE_PROGRAMS AS arp INNER JOIN
dbo.v_R_System ON arp.ResourceID = dbo.v_R_System.ResourceID INNER JOIN
dbo.v_RA_System_SMSInstalledSites AS ASSG ON dbo.v_R_System.ResourceID = ASSG.ResourceID INNER JOIN
dbo.v_FullCollectionMembership AS col ON dbo.v_R_System.ResourceID = col.ResourceID
WHERE (arp.DisplayName0 LIKE 'Microsoft .NET Framework%') AND (arp.DisplayName0 NOT LIKE '%hotfix%') AND (arp.DisplayName0 NOT LIKE '%update%') AND (arp.DisplayName0 NOT LIKE '%language%')AND (arp.Version0 IS NOT NULL)
GROUP BY arp.DisplayName0, arp.Version0
SELECT dbo.v_R_System.Name0 AS 'Machines that do NOT have .NET Framework 2.0 Installed', dbo.v_R_System.User_Name0 AS 'User Name',
dbo.v_R_System.AD_Site_Name0 AS 'AD Site', ASSG.SMS_Installed_Sites0 AS 'SMS Site', dbo.v_R_System.Operating_System_Name_and0
FROM dbo.v_GS_ADD_REMOVE_PROGRAMS AS arp INNER JOIN
dbo.v_R_System ON arp.ResourceID = dbo.v_R_System.ResourceID INNER JOIN
dbo.v_RA_System_SMSInstalledSites AS ASSG ON dbo.v_R_System.ResourceID = ASSG.ResourceID
WHERE (arp.ResourceID NOT IN
(SELECT DISTINCT ResourceID
FROM dbo.v_GS_ADD_REMOVE_PROGRAMS
WHERE (DisplayName0 LIKE 'Microsoft .NET Framework 2.0%'))) AND (arp.ResourceID NOT IN
(SELECT DISTINCT ResourceID
FROM dbo.v_GS_ADD_REMOVE_PROGRAMS_64
WHERE (DisplayName0 LIKE 'Microsoft .NET Framework 2.0%')))
GROUP BY dbo.v_R_System.AD_Site_Name0, ASSG.SMS_Installed_Sites0, dbo.v_R_System.Name0, dbo.v_R_System.User_Name0,
dbo.v_R_System.Operating_System_Name_and0
HAVING (NOT (dbo.v_R_System.Operating_System_Name_and0 LIKE '%6.%'))
ORDER BY 'AD Site', 'SMS Site', 'Machines that do NOT have .NET Framework 2.0 Installed', 'User Name'
This query works. Thanks for sharing
ReplyDelete