When i generate report, I get few hundreds machines with entries like this:
I know if a machine gets reimaged/ if a machine gets disconnected during the initial synchronization, it creates (or registers) with machinename+0001, 0002 incrementally everytime this happens to an endpoint.
My question is, is there a simple way to find out (or generate) report on only those that are valid machine names?
How does the system tell what's valid and what's not? It does not know if it's the same machine each time, or if you have two machines using the same name :-(
I guess you could use dumpmachinedescription to get the network names for the machines? If your end game is to clean up though you can use the showoldmachines api command to dump a list of >possibly< old out of date entries.
GetLastCheckIn is problematic with this type of issue: When the machine checks in for the "first" time, and creates a machine object in the DB, there's no date/time stamp, and there's an empty audit trail. The next time that machine synchronizes, it creates a new object, with the suffix, with an empty audit trail.
GetLastCheckIn sees NO audit trail, so the date/time stamp is nul, so you can't use logic like "if (last checkin date) older than anything ". Sad to say, I think one has to dump each machine description out in order to catch duplicates.