Go Premium for a chance to win a PS4. Enter to Win

x
?
Solved

Collection help

Posted on 2010-08-30
8
Medium Priority
?
528 Views
Last Modified: 2013-11-21
Hi there,

I would like to have a collection for All Windows XP 32bit computer with AutoCAD2009 but also does not have AutoCAD2010.

I would also like to have another collection with All Windows XP 64bit with AutoCAD2009 and AutoCAD 2010.

Thanks,
0
Comment
Question by:Habib Z
  • 3
  • 2
  • 2
  • +1
8 Comments
 
LVL 6

Expert Comment

by:Exemplar
ID: 33566700
Hello smartmanwin!

I think I can help you out with this one.  Please follow the directions below and you should be able to get an accurate account of the AutoCAD installs in your organization.

Part I.  Create "with" Collections
To begin with, you need to create the collection that identifies which systems have AutoCAD2009 installed for both WinXP/32 and WinXP/64.  This can be done in a relatively easy fashion.  Create two new collections and name them like:  "WinXP-32bit with AutoCAD2009" and "WinXP-64bit with AutoCAD2009"

There are a few WQL queries for this sort of thing, but I usually prefer this query over the Add/Remove Programs query:
select SMS_R_SYSTEM.ResourceID,SMS_R_SYSTEM.ResourceType,SMS_R_SYSTEM.Name,SMS_R_SYSTEM.SMSUniqueIdentifier,SMS_R_SYSTEM.ResourceDomainORWorkgroup,SMS_R_SYSTEM.Client from SMS_R_System inner join SMS_G_System_SoftwareFile on SMS_G_System_SoftwareFile.ResourceID = SMS_R_System.ResourceID where SMS_G_System_SoftwareFile.FileName = "AAAAA" and SMS_G_System_SoftwareFile.FileVersion >= "BB" and SMS_G_System_SoftwareFile.FilePath like "%\\Program Files\\CCCCC\\CCCCC\\%"

Key:
AAAAA = the .exe file for AutoCAD2009
BB = .exe file version (you get this in the .exe properties)
CCCCC = specific folders within C:\Programs Files where the .exe resides

You will want to point the "WinXP-32bit with AutoCAD2009" collection at a previously created collection that identifies All WinXP 32bit systems.  You will want to point the "WinXP-64bit with AutoCAD2009" collection at the collection that identifies All WinXP 64bit systems.  This can be done by using Collection Limiting.

At this time, you have created two collections that identify all WinXP systems that DO have AutoCAD2009 installed.

Part II. Write down Collection IDs
Next, please right-click --> properties of the two collections and write down the Collection IDs.  Keep the IDs ready, you will need them shortly.

Part III.  Create "not in" Collections
Now we need to move on to the 'without AutoCAD' collections.  Again, you need to create two new collections, name them:  "WinXP-32bit without AutoCAD2009" and "WinXP-64bit without AutoCAD2009"

The WQL query for this is commonly referred to as the "not in" query.  Use this query on the two 'without' collections:
select SMS_R_SYSTEM.ResourceID,SMS_R_SYSTEM.ResourceType,SMS_R_SYSTEM.Name,SMS_R_SYSTEM.SMSUniqueIdentifier,SMS_R_SYSTEM.ResourceDomainORWorkgroup,SMS_R_SYSTEM.Client from SMS_R_System where ResourceId not in (select ResourceID from SMS_CM_RES_COLL_EEEEEEEE)

Key:
EEEEEEEE = Collect ID of first two collections

Again you will want to utilize the Collection Limiting function and point at the same collections as the first two collections, in this case, the All WinXP 32bit Systems and the All WinXP 64bit Systems.

When this is complete, you have two new collections that identify which servers DO NOT have AutoCAD2009 installed.

Part IV.  End Results
If you set this up correctly, as ConfigMgr runs its discoveries, these collections will update accordingly and you will have an accurate look at your organization's workstation to AutoCAD installs.

/cheers
0
 

Expert Comment

by:jparekh
ID: 33566734
You can get the OS from System Resource (or Operating Systems table).  I don't have AutoCad installed but you can query the Add Remove Programs for the install.  See the example below.. I'm looking for Windows XP machines and program that starts with Demo.
=

select SMS_R_System.ResourceId, SMS_R_System.ResourceType, SMS_R_System.Name, SMS_R_System.SMSUniqueIdentifier, SMS_R_System.ResourceDomainORWorkgroup, SMS_R_System.Client from  SMS_R_System inner join SMS_G_System_ADD_REMOVE_PROGRAMS on SMS_G_System_ADD_REMOVE_PROGRAMS.ResourceId = SMS_R_System.ResourceId where SMS_R_System.OperatingSystemNameandVersion like "%Workstation 5.1%" and SMS_G_System_ADD_REMOVE_PROGRAMS.DisplayName like "Demo%"

Open in new window

0
 

Expert Comment

by:jparekh
ID: 33566848
x32 machines only

select SMS_R_System.ResourceId, SMS_R_System.ResourceType, SMS_R_System.Name, SMS_R_System.SMSUniqueIdentifier, SMS_R_System.ResourceDomainORWorkgroup, SMS_R_System.Client from  SMS_R_System inner join SMS_G_System_COMPUTER_SYSTEM on SMS_G_System_COMPUTER_SYSTEM.ResourceId = SMS_R_System.ResourceId where SMS_G_System_COMPUTER_SYSTEM.SystemType = "X86-based PC"

Look for x64 only

select SMS_R_System.ResourceId, SMS_R_System.ResourceType, SMS_R_System.Name, SMS_R_System.SMSUniqueIdentifier, SMS_R_System.ResourceDomainORWorkgroup, SMS_R_System.Client from  SMS_R_System inner join SMS_G_System_COMPUTER_SYSTEM on SMS_G_System_COMPUTER_SYSTEM.ResourceId = SMS_R_System.ResourceId where SMS_G_System_COMPUTER_SYSTEM.SystemType = "X64-based PC"
0
Keep up with what's happening at Experts Exchange!

Sign up to receive Decoded, a new monthly digest with product updates, feature release info, continuing education opportunities, and more.

 

Author Comment

by:Habib Z
ID: 33583460
I do not want to list the PCs that have both version of AutoCAD 2009/10. I just want to list the PCs that have AutoCAD2009 but do not have AutoCAD 2010. How can I do that with one query. Thats all I am asking.
The query below will also list the PCs that have AutoCAD 2009 and AutoCAD 2010. I want to exclude the PCs that already have AutoCAD 2010.  
select SMS_R_System.ResourceId, SMS_R_System.ResourceType, SMS_R_System.Name, SMS_R_System.SMSUniqueIdentifier, SMS_R_System.ResourceDomainORWorkgroup, SMS_R_System.Client from  SMS_R_System inner join SMS_G_System_COMPUTER_SYSTEM on SMS_G_System_COMPUTER_SYSTEM.ResourceID = SMS_R_System.ResourceId inner join SMS_G_System_ADD_REMOVE_PROGRAMS on SMS_G_System_ADD_REMOVE_PROGRAMS.ResourceID = SMS_R_System.ResourceId where SMS_G_System_COMPUTER_SYSTEM.SystemType = "X64-based PC" and SMS_G_System_ADD_REMOVE_PROGRAMS.DisplayName like "AutoCAD 2009"
 Regards
0
 

Author Comment

by:Habib Z
ID: 33583502
I will just exclude the computers by Computer names they are just few of them. That will be my last resort.
Thanks,
0
 
LVL 6

Expert Comment

by:Exemplar
ID: 33585558
Using the query that I identified above (again below), you can easily differentiate between the two AutoCAD installs based upon the file version.

select SMS_R_SYSTEM.ResourceID,SMS_R_SYSTEM.ResourceType,SMS_R_SYSTEM.Name,SMS_R_SYSTEM.SMSUniqueIdentifier,SMS_R_SYSTEM.ResourceDomainORWorkgroup,SMS_R_SYSTEM.Client from SMS_R_System inner join SMS_G_System_SoftwareFile on SMS_G_System_SoftwareFile.ResourceID = SMS_R_System.ResourceID where SMS_G_System_SoftwareFile.FileName = "AAAAA" and SMS_G_System_SoftwareFile.FileVersion >= "BB" and SMS_G_System_SoftwareFile.FilePath like "%\\Program Files\\CCCCC\\CCCCC\\%"

Thanks,
Ex
0
 
LVL 6

Accepted Solution

by:
TarekIsmail earned 2000 total points
ID: 33592256
All Windows XP 32bit computer with AutoCAD2009 but also does not have AutoCAD2010.
===========================================================================
select SMS_R_System.ResourceId, SMS_R_System.ResourceType, SMS_R_System.Name, SMS_R_System.SMSUniqueIdentifier, SMS_R_System.ResourceDomainORWorkgroup, SMS_R_System.Client from  SMS_R_System inner join SMS_G_System_INSTALLED_SOFTWARE on SMS_G_System_INSTALLED_SOFTWARE.ResourceID = SMS_R_System.ResourceId inner join SMS_G_System_COMPUTER_SYSTEM on SMS_G_System_COMPUTER_SYSTEM.ResourceId = SMS_R_System.ResourceId inner join SMS_G_System_OPERATING_SYSTEM on SMS_G_System_OPERATING_SYSTEM.ResourceId = SMS_R_System.ResourceId inner join SMS_G_System_SYSTEM on SMS_G_System_SYSTEM.ResourceId = SMS_R_System.ResourceId where (SMS_G_System_INSTALLED_SOFTWARE.ProductName = "autocad2009" and SMS_G_System_COMPUTER_SYSTEM.SystemType = "X86-based PC" and SMS_G_System_OPERATING_SYSTEM.Name like "%XP%") and SMS_G_System_SYSTEM.Name not in (select SMS_R_System.Name from  SMS_R_System inner join SMS_G_System_INSTALLED_SOFTWARE on SMS_G_System_INSTALLED_SOFTWARE.ResourceID = SMS_R_System.ResourceId where SMS_G_System_INSTALLED_SOFTWARE.ProductName = "autocad2010")


 All Windows XP 64bit with AutoCAD2009 and AutoCAD 2010.
==================================================


select SMS_R_System.Name from  SMS_R_System inner join SMS_G_System_COMPUTER_SYSTEM on SMS_G_System_COMPUTER_SYSTEM.ResourceID = SMS_R_System.ResourceId inner join SMS_G_System_OPERATING_SYSTEM on SMS_G_System_OPERATING_SYSTEM.ResourceID = SMS_R_System.ResourceId inner join SMS_G_System_INSTALLED_SOFTWARE on SMS_G_System_INSTALLED_SOFTWARE.ResourceID = SMS_R_System.ResourceId where SMS_G_System_COMPUTER_SYSTEM.SystemType = "x64-based PC" and SMS_G_System_INSTALLED_SOFTWARE.ProductName = "autocad2010" and SMS_G_System_INSTALLED_SOFTWARE.ProductName = "autocad2009" and SMS_G_System_OPERATING_SYSTEM.Name like "%XP%"

0
 

Author Closing Comment

by:Habib Z
ID: 33608326
to the point.
0

Featured Post

Free Tool: ZipGrep

ZipGrep is a utility that can list and search zip (.war, .ear, .jar, etc) archives for text patterns, without the need to extract the archive's contents.

One of a set of tools we're offering as a way to say thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Remote Desktop Protocol or RDP has become an essential tool in many offices. This article will show you how to set up an external IP to point directly to an RDP session. There are many reasons why this is beneficial but perhaps the top reason is con…
The question has been asked on multiple occasions as to how best to do printing in a remote desktop or terminal services environment.   It seems that this particular question has plagued several people and most especially as Terminal Services, as…
Want to learn how to record your desktop screen without having to use an outside camera. Click on this video and learn how to use the cool google extension called "Screencastify"! Step 1: Open a new google tab Step 2: Go to the left hand upper corn…
Look below the covers at a subform control , and the form that is inside it. Explore properties and see how easy it is to aggregate, get statistics, and synchronize results for your data. A Microsoft Access subform is used to show relevant calcul…

963 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question