How can I identify unused files on a windows share?

Is there anyway to identify files which have not been accessed inside the last [insert time frame here] (for me its inside the last year) via a windows share?

I have access to the server and the files are only ever accessed via the windows share and never from the server itself.

The share has 70GB of data on it (NTFS). It has hundreds of thousands of files spread out within hundreds of folders. A mixture of MS Office related files, largish images, programs and more.

I'm primarily a programmer and am happy with a 'roll your own by doing this' answer... but I'd love there to be a mechanism in Windows (SBS Server 2003), an open source tool or a inexpensive commercial product.

Obviously I am keen that the tool helps me actually action this somehow. Having a list with which to manually work with the files is not the desired final outcome but is definitely a good start.


PowerShell:

$Cutoffdate = (Get-date).AddDays(-365)
Get-Childitem –recurse \\server\share\folder | where-object {$_.LastAccessTime –gt $Cutoffdate}

And if you want to do something like move them:

$Cutoffdate = (Get-date).AddDays(-365)
$Destdirectory = '\\server\share\oldfiles'
Get-Childitem –recurse \\server\share\folder | where-object {$_.LastAccessTime –gt $Cutoffdate} | foreach {$_.MoveTo($Destdirectory)}

I should warn you that this isn't a perfect process. Windows doesn't keep track of Access Time very well, and you're likely to miss quite a few files that haven't actually been accessing in a long time, but someone has browsed the directory they're in (which sometimes updates the atime, other times not).