As Brian said, If the client is unmanaged (or managed, but not communicating to SEPM) there is no way that the SEPM will have the current reporting data of such client.
As you said that you have a lot of computers that are out of network, I would suggest you to enable the clients to communicate to SEPM over the internet. All you have to do it to allocate a public IP address for this communication. Once you have a public IP address allocated, you can update it in the MSL and then configure the network/perimeter firewall to forward any communication received on that public IP address (and on a specific secure port) via internet to the internal IP address of the SEPM server on port 8014. (Just make sure that you enable secure communication between the client and the server).
You can also use location switching in SEP to configure different policies (such and liveupdate and firewall) to client that are in the network and out of network.
Once you enable client-server communication over the internet, it becomes easy to manage clients that stay out-of-network for a long time and to get reporting data from those clients.