Hi there, its summer time, so maintenance time. I'm trying to remove deprecated computers from the SEC SOPHOS521 database using an SQL query that can get rid of hundreds of duplicates.
Our naming scheme for computernames is the following:
RoomNumber-Servicetag/Serial-Make
If a computers is renamed (or reimaged or when it receives an OS upgrade) the computername sometimes changes even though the Servicetag/Serial part stays the same. Sophos doesn't always recognize that this is the same entity thus creating duplicates that never Update and show up as Unknown and what not. Console clutter that distracts from the real issues!
Example:
old name: 506-TKJFREP-D
new name: ROAM-TKJFREP-D
or
old name: ROAM-0445001-H
new name: GH-0445001-H
The only constant is the Servicetag which is exactly 7 character (either letter or numbers) and that there is a dash encapsulating it. And the last character of the computername is always only one (1) character.
Right now I have the ability to find duplicates with the exact same name using the following SQL query:
SELECT c.Name, c.Description, c.DomainName, c.OperatingSystem, c.Managed, c.Deleted, c.Connected, c.SAVOnAccess, c.LastMessageTime, c.insertedat, c.IdentityTag, c.IPAddress, c.QuarantineCount, c.LastLoggedOnUser, c.MessageSystemAddress, cgm.GroupID FROM [SOPHOS521].[dbo].[ComputersAndDeletedComputers] as c inner join [SOPHOS521].[dbo].[ComputerGroupMapping] as cgm on cgm.ID = c.id WHERE c.Name in( SELECT c.Name FROM [SOPHOS521].[dbo].[ComputersAndDeletedComputers] as c WHERE Deleted = 0 GROUP BY c.name HAVING ( COUNT(c.name) > 1 ) ) order by c.name
This is done regularly and spitting out about 20 duplicates each month which I then delete manually from SEC.
Now, how would I change this query to find and automatically delete the entities that have different computernames, but the same Servicetag/Serial based on last report date (c.LastMessageTime)? Both LastMessageTimes would need to be compared and the one that is more recent stays while the other, older one gets deleted.
Jak for the rescue.
This thread was automatically locked due to age.