@tarou chabi
Hi
Let's say $mySearch = Get-Get-HistoricalSearch | Where-Object {some condition}.
maybe, $_.ReportTitle.StartsWith('blah') or $__.NotifyAddress -contains '******@domain.com' you get the picture.
Then you could just loop as follows:
$mySearch |Foreach-Object {Start-Process <path to your browser app. For me it's msedge>
-ArgumentList $_.FileUrl }
you will get $mySearch.Count save scv prompt windows as the one you get when you click on 'Download the report'. This will save you one click for each one.
It's also better to login to your admin account before running this loop as you will need to login and reload the others before timing out.
you could add to ArgumentList '--inprivate' for msedge or '--incognito' for chrome.
Hope this helps.