diff --git a/PSParallelPipeline/PSParallelPipeline.psd1 b/PSParallelPipeline/PSParallelPipeline.psd1 index 34f9f74..3e77e0a 100644 --- a/PSParallelPipeline/PSParallelPipeline.psd1 +++ b/PSParallelPipeline/PSParallelPipeline.psd1 @@ -12,7 +12,7 @@ RootModule = 'PSParallelPipeline.psm1' # Version number of this module. -ModuleVersion = '1.0.2' +ModuleVersion = '1.0.3' # Supported PSEditions # CompatiblePSEditions = @() diff --git a/PSParallelPipeline/PSParallelPipeline.psm1 b/PSParallelPipeline/PSParallelPipeline.psm1 index b2b7500..b8e07f9 100644 --- a/PSParallelPipeline/PSParallelPipeline.psm1 +++ b/PSParallelPipeline/PSParallelPipeline.psm1 @@ -156,7 +156,10 @@ function Invoke-Parallel { $key = [Convert]::ToBase64String([Encoding]::Unicode.GetBytes($varText.ToLower())) if(-not $usingParams.ContainsKey($key)) { - $usingParams.Add($key, $ExecutionContext.SessionState.PSVariable.GetValue($varPath)) + # Huge thanks to SeeminglyScience again and again! The function must use + # `$PSCmdlet.SessionState` instead of `$ExecutionContext.SessionState` + # to properly refer to the caller's scope. + $usingParams.Add($key, $PSCmdlet.SessionState.PSVariable.GetValue($varPath)) } }