Here's the little script that I put together. This uses the admin share of the servers. I suspect that if remoting is used it might be faster but the script would also be more complicated for the OP to understand. I thought this was a good compromise.

#requires -version 3

$Servers = 'server1','server2','server3','server4','server5','server6','server7','server8','server9','server10'
$FileTypes = 'xls','xlsx','mdb'

foreach ($Server in $Servers) {
    ## Find all of the drives on the server
    $Drives = Get-WmiObject -Class Win32_LogicalDisk -ComputerName $Server | Select @{n='Drive';e={$_.DeviceID.TrimEnd(':')}} | Select -ExpandProperty Drive
    ## Iterate over each server drive using the admin share
    foreach ($Drive in $Drives) {
        ## Look through all files on the drive letter $Drive excluding folder names and only the file types in the $FileTypes array
        ## Also search for hidden files and do not display an error when access is denied, etc
        Get-ChildItem "\\$Server\$Drive`$" -Recurse -File -Include ($FileTypes | % {"*.$($_)"}) -Force -ea SilentlyContinue
    }
}

Join the Jar Tippers on Patreon

It takes a lot of time to write detailed blog posts like this one. In a single-income family, this blog is one way I depend on to keep the lights on. I'd be eternally grateful if you could become a Patreon patron today!

Become a Patron!