Criteria for detecting duplicates computers

I’m wondering what others are using to identify duplicates devices with the BES Computer Remover tool.

  • We have far too many “Admin’s MacBook Pros” (and similar) to base it off the device name
  • We have quite a few devices whose serial number is “To be filled by O.E.M.”
  • Ethernet dongles might create duplicate MAC addresses across endpoints

I was thinking of setting up an analysis that combines the Name/Serial to uniquely identify the device, but maybe there’s a better way. Anyone have a good, cross-platform identifier?

@eg2428, I don’t think there will be a good one example and it will very much be “depends” and per-customer response. For example, our environment is servers only, so we use “IP Address” as good enough estimation (we no longer have IP conflicts, so if two endpoints have the same exact set of IP addresses then they probably are duplicates - obviously, over long enough period that may not be the case for public cloud providers like AWS that reuse IP addresses but for shorter period of time it is good enough). Obviously, this will not be a good solution for any environment with workstations/mobiles/etc where IP addresses change all the time and are being reused.

Your thinking of something custom for workstations seems reasonable but be careful of the outliers - some OS platforms do not have Serial Numbers on purpose (Oracle Solaris virtualizations do not for example; Oracle Cloud Infrastructure disable Serial Number - blank it out; s390 Linux are iffy about it too); same can be said for UUIDs (Azure have it missing in some situations for example); MAC addresses can be a good shout as long as you don’t replace NIC cards/motherboards with integrated NICs or don’t use MAC address masking but either of those will cause it to be off.

As I said, I honestly don’t see “one size fits all” solution here but depending on your environment and processes you may come up with something that works for you.

1 Like

Agree with @ageorgiev that it will depend on your own use case and environment. As you point out, Mac addresses can be duplicated, any aspect of a device that results in a null/empty property result is then effectively a duplicate so even serial number isn’t a guaranteed UID. We had many devices with missing serial numbers though when you thrown VMs into the mix, virtual serial numbers add another complication to the mix.

If its of any use, a concept I had been playing with was to use several aspects of the devices to created a pseudo UID with the idea that things such as name, ram size, CPU model etc, when concatenate could help withy real duplicates vs similar. You could use whatever methods fit with your environment rather than those I’d chosen.

concatenation "|" of ((computer name|"Missing");(serial of hardware | "Missing");((size of ram / 1024) as string | "Missing");(concatenation "" of substrings separated by " " of (concatenation "" of unique values of model names of processors)) | "Missing")

2 Likes

Thanks @ageorgiev , @SLB . I think NameSerial should work for us (devices with the same name are usually standard laptops with unique serials, and devices with duplicate serials are usually uniquely named), but I might add some of your fields @SLB if we start seeing some false positives.

Appreciate the input — thanks!