I've made a number of changes that may improve performance, namely if you're piping objects to the script from AD itself, but a few other small tweaks. I've also added in a paramter that takes an array of explicit UNC paths, with examples listed. If you tried one of your known shares via an explicit path, does it work any differently? Also, I realized the runspaces in use require PowerShell 2.0 or greater, so if you're calling the script from a Win Server 2008 you should update your PowerShell framework version for it to work (or from XP / Vista as well). Also, do you have actual access to the shares you're scanning? If all else fails, test if the file recursion itself is working by setting $path="UNCPATH you want, with no trailing \, then run: $mypath=$path + "\*DECRYPT*" $fileslist=@(ge t-childitem -path $mypath -Recurse -ErrorAction Ignore) -- what does $fileslist show after? It should show all matches for *DECRYPT* found in the $path. Feel free to e-mail my gmail with further details if this seems off.