Вам по-хорошему надо один раз получить список компов и в csv его сохранить, добавив поле-флаг "установлено"
И потом пробегаться по файлу в поисках "не установлено" + "доступно"
Для реультата ставить
Типа
1 скрипт - get-adcomputer ... | select name, installed | export-csv -path xxx
2 скрипт
#читаем список всех компов
$all=Import-csv xxx
#проходим по списку в поисках живых где неустановлено
foreach ($comp in $all) {
# проверяем всякие условия
if (-not $comp.installed -and
(test-connection $comp.name) -and
(-not (test-path ....)) { #можно еще условий добавить
#install
Invoke-command -computername $comp.name {
#тут команды установки
# никаких повторных invoke-command и powershell НЕ надо
}
.....
#ставим флаг что установлено
$comp.installed=$true
}
}
#экспортируем обратно в csv с установленными флагами
$all | export-csv xxx
И запускать периодически пока не будет установлено на всех