Video Screencast Help
Search Video Help Close Back
to help
New in the Rewards Catalog: Vouchers for "Symantec Technical Specialist" and "Symantec Certified Specialist" exams.

Problem with creating report on software

Updated: 31 May 2010 | 2 comments
Sean.B's picture
+1 1 Vote
Login to vote

Hi,
I need to deploy the MS Group Policy Preferences/Client Side Extension update (KB943729) to all of our Windows XP computers that do not have it installed. I thought I would just create a report of computers without KB943729 and then create a collection from that report for the SWD job but I am running into an issue with the report. No matter what I do I get a mixed list of some computers with the update installed and some that do not. I spent a few days searching this site, Altirigos, and Google without any luck.

I am still just learning SQL so I am at a loss as to what I am doing wrong.

In the mean time I plan on building a collection of all XP machines with the update installed and use it as an exclusion group for the collection I am going to use as the target for the SWD job.

The SQL statement I am using is below (used the console editor):

SELECT DISTINCT [vResourceEx].[Name] AS 'Name', [vResourceEx].[Guid]
FROM [vResourceEx] INNER JOIN [Inv_AeX_OS_Updates] ON [vResourceEx].[Guid] = [Inv_AeX_OS_Updates].[ResourceGuid]
WHERE [Inv_AeX_OS_Updates].[Patch ID] <> 'KB943729'
Thanks!

P.S We are running NS 6.

Comments

Mike.Langford's picture
25
Nov
2009
3 Votes +3
Login to vote

Here you go

The problem is that you are saying in your SQL that you want all the results  where the patch ID is not equal to KB943729.  That means you are going to get every machine with any KB installed as long as the line does not have that particular KB in it.  This should do the trick so you only look for that particular KB and exclude all machines with it currently installed:

--What this does is select every computer from the vComputer view
--and then exclude all those resources from the OS Updates table that have the patch installed.
Select guid from vcomputer
where guid not in
(Select _ResourceGuid as guid
 from Inv_AeX_OS_Updates
 where [Patch ID] = 'KB943729')

The exclusion method is probably a less complicated way to go however. If you just take a collection of all machines, then exclude all those with that kb installed, then as you get it installed, your push list will shrink by any machines that have installed it.  Either way you get the same result, so take your pick.

Hope this helps.

Mike

KSchroeder's picture
30
Nov
2009
1 Vote +1
Login to vote

Another way

There is another way to do this as well, same result:

SELECT Guid
FROM vComputer vc
LEFT JOIN Inv_AeX_OS_Updates upd
ON vc.Guid = upd._ResourceGuid
   AND upd.[Patch ID] = 'KB943729'
WHERE upd._ResourceGuid IS NULL
AND vc.IsManaged = 1  -- only machines with Altiris Agent installed

Thanks,
Kyle
Symantec Trusted Advisor

For Forum threads, please click "Mark as Solution" if answered.
For all content, please give a thumbs up if you agree with or support the post.