У меня есть сценарий PowerShell (который я не могу изменить) со следующей функцией внутри него:
function Foo ([string] param1) {
[...]
$var1 = Read-Host "Test"
$var2 = Read-Host "Test2"
[...]
}
Я хочу вызвать функцию из моего сценария PowerShell и не хочу, чтобы пользователь вводил какие-либо значения, вместо этого я хочу подготовить жестко запрограммированные значения.
Я пробовал следующее:
@("Var1Value", "Var2Value") | Foo "Param1Value"
Но это все равно подсказывает пользователю. Любые идеи?
Foo
находится внутри модуля, вам придется временно создать глобальнуюRead-Host
функцию (function global:Read-Host { ... }
). - person mklement0   schedule 07.01.2021Read-Host
читает только с хоста (обычно терминала) в интерактивном режиме. Однако, когда ввод stdin предоставляется вне сеанса, через PowerShell CLI,Read-Host
читает из него - см. этот ответ. - person mklement0   schedule 07.01.2021