Automatic Groups - mine don't seem to work

I used the method I found in the IBM Knowledge Center 9.1 and it wasn’t hard to create the group. The problem is that, after updating, the group doesn’t actually populate with any computers. I can’t figure out why.

Even when I make an Automatic Group with a very simplistic filter, i.e. Device Type - contains - server, the group does not populate.

I must be missing something…

Any help is appreciated.

Thanks,

Mark

I am posting the relevance code here. “TPADW” represents part of the hostname that distinguishes a development computer. I want all endpoints containing TPADW, device type of Server, and an OS that is not Linux.

(version of client >= "6.0.0.0") AND ((exists true whose (if true then (exists (computer name) whose (it as string as lowercase contains "TPADW" as lowercase)) else false)) AND (exists true whose (if true then (exists (if (exists true whose(if true then exists device type else false ))then device type else(if (exists value of settings "_BESClient_DeviceTypeOverride" of client)then (value of setting "_BESClient_DeviceTypeOverride" of client)else(if(it starts with "Mac OS X")then(if(it contains "Server")then "Server" else (if(((exists key whose(it as string as lowercase contains "battery") of entries of dictionaries of nodes of it) OR (exists node "AppleACPIPlatformExpert/SMB0/AppleECSMBusController/AppleSmartBatteryManager" of service plane of iokit registry)of it)of service plane of iokit registry)then "Laptop" else "Desktop"))else(if(it starts with "Win")then (if(it as lowercase contains "mobile")then "Mobile" else(if(it = "Win95" OR it = "Win98" OR it = "WinME")then "Desktop" else(if(nt workstation product type != product type of operating system)then "Server" else(if ((exists active device whose((class of it as lowercase = "battery" OR class of it as lowercase = "system") AND service key value name of it as lowercase = "compbatt")) AND (exists active device whose(class of it as lowercase = "battery" AND service key value name of it as lowercase = "cmbatt"))) then "Laptop" else "Desktop" ))))else(if (it contains "Linux" OR it contains "AIX" OR it contains "Sun" OR it contains "HP-UX" OR it contains "VMware") then ("Server") else(if((it contains "ios" OR it contains "android" OR it contains "ipad" OR it contains "iphone" OR it contains "ipod" OR it contains "smartphone" OR it contains "msft-" OR it contains "nokia" OR it contains "palm" OR it contains "pocketpc" OR it contains "htc")of(it as lowercase)) then "Mobile" else "Unknown")))))of name of operating system) whose (it as string as lowercase contains "Server" as lowercase)) else false)) AND (exists true whose (if true then (not exists (operating system) whose (it as string as lowercase contains "Linux" as lowercase)) else false)))
1 Like

Can you copy and paste the relevance from the description tab of the group in the console to here?

I used the GUI to create a test group and it populates, although it did take is a little bit for those systems to check in. How long were letting the group sit without being modified or re-saved? Maybe bump your BESClient service on one of the known target servers and see if the list populates on check-in.

I refreshed four endpoints that should be populating this group and also refreshed the console with no success.

What version of the server are you using?

I’m using 9.1 at this time.

If you put them in a manual group can you send an empty action to them and it run successfully?

-edit: Maybe disregard this. lol

Ok, so I was curious this morning when I came in. I applied the same logic as you stated above with the debugger and using my laptop. In the “Device Type” property, if you look at it in manage properties it already has relevance in it for distinguishing the OS;

“else(if (it contains “Linux” OR it contains “AIX” OR it contains “Sun” OR it contains “HP-UX” OR it contains “VMware”) then (“Server”)”

So, I thought maybe I would simplify it and see if I could get it to do anything other than error. Below I am looking for the computer name containing "ws"and the OS not containing Linux. Replace the computer name with yours and see if that works. I did this using the Relevance Expression drop down in the automatic group GUI, and using “is true”.

(Computer name as lowercase contains “ws”) AND (name of operating system as lowercase does not contain “Linux”)

Can you explain in english all of the types of machines that should be in the group?

Do you want the group to contain all windows servers?

Do you want the group to contain all windows servers + Unix servers + OS X servers?

Have you checked the reported device type of systems that you expect SHOULD appear in the group to make sure they are reported properly? (I have noticed that desktops with a UPS can be reported as a laptop, as well as many other issues with device type)


Assuming you only want windows servers, I would do something like this:

( windows of operating system )

AND

( exists (computer name) whose (it as string as lowercase contains “TPADW” as lowercase) )

AND

( exists operating system whose(name of it as lowercase contains “win20”) )

AND

( “5.1” < version of operating system )