Powershell で workflowにおけるマルチスレッド処理での共通の変数
workflow とForEach -parallelで並列して複数の ps1スクリプト を実行しようと思います。各ps1スクリプトは戻り値として $True あるいは $Flaseを返します。$Flaseをカウントしようと思いますのが、スコープがスクリプト内の変数を使用することができずに困っています。
以下のように Errors をカウントしたいのですができません。何かよいアイディアはないでしょうか。
workflow func1 {
$Errors = 0
ForEach -parallel ($i in 1..30) {
InlineScript{
$ret = c:\scripts\test2.ps1
if (!$ret)
{
$Errors +=1
}
write-host $Errors
}
}
}
func1
以下のページを見ると、"there is no $global scope"と記載されています。
https://devblogs.microsoft.com/scripting/powershell-workflows-restrictions/