Попробуйте проверить, можете ли вы передать параметры через стандартный ввод, например ::1001*
$prog1out = prog1
"mypassword`r`n1`r`nY`r`n$prog1out" | prog2
Если это не сработает, другой способ (хакерский и, возможно, хрупкий) - использовать SendKeys, например ::1004*
[reflection.assembly]::LoadWithPartialName("System.Windows.Forms")
[windows.forms.sendkeys]::SendWait("mypassword`r`n")
Start-Sleep -sec 1 # may need to vary this
[windows.forms.sendkeys]::SendWait("1`r`n")
# rinse and repeat
Обратите внимание, что SendKeys работает с окном переднего плана, что может быть проблемой для вас, если только вы не убедитесь, что приглашение PowerShell остается окном переднего плана.