Software inventory
Before everything, you need to enable software inventory and create rules in your environment.
Go to Administration - Client Settings - Default Client Setting properties- Software Inventory, Click Set Types... Click New to add a path for querying, here you can add C:\Users\ and file name as *.pst and save. More instruction of software inventory rule, see here

After next Software inventory cycle finished (default is 7 days, you can manual trigger on client side by Control panel - Configuration Manager - Actions - Software Inventory Cycle), data will be collected and saved in database. Then you can use SQL query or built-in reports to get what you want. Example query like below:
select distinct
Sys.Name0,
SF.FileName AS [Filename],
SF.ModifiedDate AS [Last Modified Date],
SF.Filepath AS [Local Filepath],
SF.FileSize/1024 as [Size (MB)],
SF.FileSize/1024000000 as [Size (GB)]
from v_R_System Sys
INNER JOIN v_GS_SoftwareFile SF on
Sys.ResourceID = SF.ResourceID
INNER JOIN v_FullCollectionMembership FCM on
FCM.ResourceID=sys.ResourceID
where SF.FileName like '%'+'.pst'
Order by SF.FileName
Attention, software inventory is a file by file scanning so it will need long time to complete and may cost more computer resource; During the inventory period, other inventory like heart beat inventory, hardware inventory will on hold till software inventory complete.
About Software inventory on Technet, see About Software Inventory
See here for implementation example
Also, Script working with hardware inventory can collect all these information as well. I found a good solution and it worked well in my lab, see Example