Removing duplicate computers

We current have the built in removal tool removing duplicate machines based on computer name. We also remove computer that have not reported for over 30 days.

However we have a number of machines that have been re-imaged with a new computer name.

This means that we have two entries for the same machine. The differences are computer name and OS version.

Is there a way to clean out machines based on more that just computer name?


Matt Gilder

How about using hardware serial number? I personally find issue with that in my environment as we do have lots of systems with blank serial numbers so all blanks could get treated as duplicate and remove object you actually want to keep. Another approach could be to create your own property that takes a number of machine local aspects and concatenate then into a single string that could be used as a UID. You can use factors that are applicable to your environment such as computer name, serial number RAM, MAC address, CPU string etc etc. This would need to be a global property in order to be of use in the built in tools.

As an example of what I’m looking into for my environment that is mixed platform…

((computer name) & "#" & (concatenation "," of (unique values of ((if (windows of it or unix of it) then (values "serial_number" of structures "system_information" of smbios as string as trimmed string) else (if(mac of it) then (string "IOPlatformSerialNumber" of dictionary of service plane of iokit registry) else (nothing))) of operating system))) & "#" & (concatenation "" of substrings separated by " " of brand string of main processor) & "#" & (if (exists true whose (if true then exists ram else false)) then (if (it > 128) then ( ((it / 32) * 32) + (if (it mod 32 > 16) then 32 else 0) ) else it) of (size of ram / (1024*1024)) as string else "")) | computer name


That is an interesting idea.
Would I be able to add the property to the removal tool to identify machine by the property rather than Computer Name?



I believe so. In the BES Administration Tool, for the BES Computer Remover, click Run Now then you get to the options you can set. There you can specify the property to find duplicate computers, which defaults to “Computer Name”. Change that to the global property you create as a UID and that should do the trick.

Cool. This could be very useful. :slight_smile:

You can add any custom property, yes, for example we have it configured to use “IP Address”. Just be careful if you have MultiCloud on. Just found out that the BES Removal tool currently is not designed to differentiate between “proxy” and “native” record, so if you happen to run the Removal tool at a time when the native & proxy records are not correlated (it can be because of an issue OR just normal delay in the process) the removal tool will consider them duplicates if their data by the defined property matches and just erroneously delete one! I am still discussing the problem through Support case with L3 and believe this is a bad design but no result yet…