0
我有以下幾點:捕獲用戶輸入
Workflow Test {
$message = "Hey"
InlineScript{
Write-Output $using:message
Read-Host 'Get user input before proceeding.'
}
InlineScript{
Write-Output $using:message
}
}
Test
我得到的回報:
,提示用戶失敗的命令,因爲主機程序或 命令類型不支持用戶交互。
有什麼辦法可以告訴工作流在繼續之前暫停用戶輸入嗎?我正在使用Workflows來支持平行的foreach - 但我想在操作之間暫停。
我可以試試這個:
Workflow Test1 {
$message = "Hey"
InlineScript{
Write-Output $using:message
Read-Host 'Get user input before proceeding.'
}
}
Workflow Test2 {
$message = "Hey"
InlineScript{
Write-Output $using:message
}
}
Test1
// wait for user input
Test2
但後來我有反覆常量有 - $message
- 這是不是很乾。
我相當確定這是不可能的。工作流程可以通過「交互式」觸發,但預計將以非交互式方式運行,並且通常會一次對多臺不同的機器運行。你甚至需要'InlineScript'支持所有PowerShell命令的原因是因爲它是一個不同的環境,所以你可以將這些塊想象成在不同的運行空間中運行。 – briantist
@briantist--我明白了。我想我可以做單獨的工作流程,但是我必須在每一個重複我所有的變量聲明,這似乎很混亂。有關於此的任何提示?現在更新問題。 – RobVious
如果您使用工作流程的唯一原因是爲了並行性,我建議您只使用作業或[PoshRsJob](https://github.com/proxb/PoshRSJob)。 – briantist