-
Notifications
You must be signed in to change notification settings - Fork 8.1k
Closed
Labels
Needs-InvestigationThe behavior reported in the issue is unexpected and needs further investigation.The behavior reported in the issue is unexpected and needs further investigation.Resolution-FixedThe issue is fixed.The issue is fixed.WG-Cmdlets-Corecmdlets in the Microsoft.PowerShell.Core modulecmdlets in the Microsoft.PowerShell.Core module
Description
Prerequisites
- Write a descriptive title.
- Make sure you are able to repro it on the latest released version
- Search the existing issues.
- Refer to the FAQ.
- Refer to Differences between Windows PowerShell 5.1 and PowerShell.
Steps to reproduce
After upgrading to PS 7.2 from PS 7.1.5 I am not able to pass a scriptblock variable containing a $using anymore. This works fine in PS 7.1.5
Expected behavior
Using PS 7.1.5
PS>$data = 'hi'
PS>$script = [scriptblock]::Create('Write-Host $using:data')
PS>1..2 | ForEach-Object -Parallel $script
hi
hiActual behavior
Using PS 7.2.0
PS>$data = 'hi'
PS>$script = [scriptblock]::Create('Write-Host $using:data')
PS>1..2 | ForEach-Object -Parallel $script
InvalidOperation: A Using variable cannot be retrieved. A Using variable can be used only with Invoke-Command, Start-Job, or InlineScript in the script workflow. When it is used with Invoke-Command, the Using variable is valid only if the script block is invoked on a remote computer.
InvalidOperation: A Using variable cannot be retrieved. A Using variable can be used only with Invoke-Command, Start-Job, or InlineScript in the script workflow. When it is used with Invoke-Command, the Using variable is valid only if the script block is invoked on a remote computer.Error details
Exception :
Type : System.Management.Automation.RuntimeException
ErrorRecord :
Exception :
Type : System.Management.Automation.ParentContainsErrorRecordException
Message : A Using variable cannot be retrieved. A Using variable can be used only with Invoke-Command,
Start-Job, or InlineScript in the script workflow. When it is used with Invoke-Command, the Using variable is valid
only if the script block is invoked on a remote computer.
HResult : -2146233087
CategoryInfo : InvalidOperation: (:) [], ParentContainsErrorRecordException
FullyQualifiedErrorId : UsingWithoutInvokeCommand
InvocationInfo :
ScriptLineNumber : 1
OffsetInLine : 1
HistoryId : -1
Line : Write-Host $using:data
PositionMessage : At line:1 char:1
+ Write-Host $using:data
+ ~~~~~~~~~~~~~~~~~~~~~~
CommandOrigin : Internal
ScriptStackTrace : at <ScriptBlock>, <No file>: line 1
TargetSite :
Name : GetUsingValue
DeclaringType : System.Management.Automation.VariableOps, System.Management.Automation, Version=7.2.0.500,
Culture=neutral, PublicKeyToken=31bf3856ad364e35
MemberType : Method
Module : System.Management.Automation.dll
Message : A Using variable cannot be retrieved. A Using variable can be used only with Invoke-Command,
Start-Job, or InlineScript in the script workflow. When it is used with Invoke-Command, the Using variable is valid
only if the script block is invoked on a remote computer.
Data : System.Collections.ListDictionaryInternal
Source : System.Management.Automation
HResult : -2146233087
StackTrace :
at System.Management.Automation.VariableOps.GetUsingValue(MutableTuple tuple, String usingExpressionKey, Int32
index, ExecutionContext context)
at System.Management.Automation.Interpreter.FuncCallInstruction`5.Run(InterpretedFrame frame)
at System.Management.Automation.Interpreter.EnterTryCatchFinallyInstruction.Run(InterpretedFrame frame)
CategoryInfo : InvalidOperation: (:) [], RuntimeException
FullyQualifiedErrorId : UsingWithoutInvokeCommand
InvocationInfo :
ScriptLineNumber : 1
OffsetInLine : 1
HistoryId : -1
Line : Write-Host $using:data
PositionMessage : At line:1 char:1
+ Write-Host $using:data
+ ~~~~~~~~~~~~~~~~~~~~~~
CommandOrigin : Internal
ScriptStackTrace : at <ScriptBlock>, <No file>: line 1Environment data
Name Value
---- -----
PSVersion 7.2.0
PSEdition Core
GitCommitId 7.2.0
OS Microsoft Windows 10.0.19043
Platform Win32NT
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion 2.3
SerializationVersion 1.1.0.1
WSManStackVersion 3.0Visuals
No response
linkz-ifelse
Metadata
Metadata
Assignees
Labels
Needs-InvestigationThe behavior reported in the issue is unexpected and needs further investigation.The behavior reported in the issue is unexpected and needs further investigation.Resolution-FixedThe issue is fixed.The issue is fixed.WG-Cmdlets-Corecmdlets in the Microsoft.PowerShell.Core modulecmdlets in the Microsoft.PowerShell.Core module