Если вы постоянно создаете новый объект Internet Explorer Com в цикле, не уничтожая его, когда закончите с ним, вы обязательно получите ошибку ResourceUnavailable
в какой-то момент.
Поместите это вВаш код (цикл), когда вы закончили использовать объект для очистки его из памяти:
$ie.Quit()
[System.Runtime.Interopservices.Marshal]::ReleaseComObject($ie) | Out-Null
[System.GC]::Collect()
[System.GC]::WaitForPendingFinalizers()