At my university, there was an inventory system that required the location to be specifically recorded when initially installed plus if the machine was ever moved. Since we had a lot of subnets, it had to be reconfigured anyway and that required their contacting the central IT organization and updating the registration information.
At this point, it seems you either have to rely on end user feedback or makes the rounds physically to find them within your offices. If some are in employees' homes, that will involve additional effort. Even with all efforts, tracking every machine on your network in detail remains a struggle in many organizations!