Справка Start-Process
объясняет:
Указывает параметры или значения параметров, которые следует использовать при запуске этого командлета. Если параметры или значения параметров содержат пробел, они должны быть заключены в экранированные двойные кавычки.
Ваш файловый параметр не имеет экранированной двойной кавычки, а обратный удар, который ничего не делает.
start-process powershell.exe -ArgumentList "-noexit", "-file `"C:\temp\client fix\script2.ps1`"", "-type install", "-computer $i"
Кроме того, вы смешиваете аргументы для powershell.exe
(-noexit, -file) с дополнениями для вашего скрипта (-type, -computer).Также ваша переменная $i
никогда не назначается.
В любом случае, более важно знать, что для start-process
нет никаких оснований.Упростите ваш сценарий, используя оператор вызова &
.
$list=get-content c:\computer.txt
foreach ($pc in $list){
& "C:\temp\client fix\script2.ps1" -type install -computer $pc
}