Here is script that looks through a folder structure and outputs the model both to the console and to a csv file. Modify it to suit your needs.
$folder = 'c:\multimedia\pictures\2010'
cls
$shell = New-Object -COMObject Shell.Application
$files = Get-ChildItem -Path $folder -File -recurse
$pics = @()
foreach ($f in $files) {
$model = ""
$shellfolder = $shell.Namespace($f.Directory.FullName)
$shellfile = $shellfolder.ParseName($f.name)
# To find the ID of the extended attribute you're interested in:
0..50 | ForEach-Object {
$prop = $shellfolder.GetDetailsOf($null, $_)
$propvalue = $shellfolder.GetDetailsOf($shellfile, $_)
if ($prop -eq "Camera model") {
$model = $propvalue
}
}
$pics += [PSCustomObject]@{
Model = $model
Picture = $f.FullName
}
}
$pics # show all files
$pics | Where-Object -Property Model -match "canon" # show only pics taken by a canon
$pics | Export-Csv -Path "C:\temp\report.csv" -NoTypeInformation