Since you want the name of the file that changed and these files a probably not plain text files, you'd simply do a multi-instance, batchscripted datasource. How you write the path will depend on how the share is accessed by the collector. You can use a local path or a UNC path, just make sure that the credentials used to run the collector process have access to the path.
Your discovery script would look like this:
# set a property called `targetpath` on the device containing the path to the share.
# i.e.: '\\localhost\C$\Users\sweenig\3D Objects\*'
$path = '##targetpath##'
Get-Item $path | ForEach-Object {
Write-Host "$($_.Name.Replace(' ',''))##$($_.Name.Replace(' ',''))"
}
Then your collection script would look like this:
# set a property called `targetpath` on the device containing the path to the share.
# i.e.: '\\localhost\C$\Users\sweenig\3D Objects\*'
$path = '##targetpath##'
$currentDateTime = Get-Date
$files = Get-ChildItem -path $path
foreach ($file in $files){
$lastWriteTime = $file.LastWriteTime
$hoursSinceModified = ($currentDateTime - $lastWriteTime).TotalHours
Write-Host "$($file.Name.Replace(' ','')).lastModifiedHoursAgo: $($hoursSinceModified)"
}
Then create a datapoint using "Content the script writes to standard output" and "multi-line key-value pairs" and where the key is "##WILDVALUE##.lastModifiedHoursAgo".