Turn off the AMSI member invocation logging for non-Windows release
builds. This is slightly more efficient as there's no extra work to
create the AMSI string.
* add tests
* fix formatting issues
* Make redirection to variable an experimental feature.
Update test to check for experimental feature status.
Set-Variable will still have the -append parameter, but if used when the experimental feature is disabled, a parameter binding error will result.
* Check to be sure provider is not null.
* update to use different FullyQualifiedErrorId
* use Experimental attribute for append parameter rather than runtime check.
* Revert "update to use different FullyQualifiedErrorId"
This reverts commit 8b34af1ac19ecdb821b34534e446ab129830c92f.
* Update src/Microsoft.PowerShell.Commands.Utility/commands/utility/Var.cs
Co-authored-by: Ilya <darpa@yandex.ru>
* Move remediation steps into resource.
Update Set-Variable -Append to be correct when -name and -value are used.
Add tests for the new behavior in Set-Variable.
* Change expected error for contrained language mode and redirection.
* Update src/Microsoft.PowerShell.Commands.Utility/commands/utility/Var.cs
Co-authored-by: Ilya <darpa@yandex.ru>
* Support redirection of native app.
Add tests to validate.
* testexe needs proper case to run on linux.
* Address codefactor issues 01.
* Update src/System.Management.Automation/engine/runtime/Operations/MiscOps.cs
Co-authored-by: Steve Lee <slee@microsoft.com>
* Update src/Microsoft.PowerShell.Commands.Utility/commands/utility/Var.cs
Co-authored-by: Steve Lee <slee@microsoft.com>
* Update src/System.Management.Automation/engine/runtime/Operations/MiscOps.cs
Co-authored-by: Steve Lee <slee@microsoft.com>
---------
Co-authored-by: Ilya <darpa@yandex.ru>
Co-authored-by: Steve Lee <slee@microsoft.com>
ForeEach-Object -Parallel using variable processing walks the script block AST to determine if the using variable was defined in the current scope, and does this by tracking the number of 'ForEach-Object -Parallel' commands in the call chain.
However, the provided script block is different, depending on whether it is passed in as a variable or via parameter binding.
$myScript = '"Hello!"'
1 | ForEach-Object -Parallel ([scriptblock]::Create($myScript))
# Script block Ast does not contain the 'ForEach-Object' command in the call chain
1 | ForEach-Object -Parallel { "Hello!" }
# Script block Ast does contain the 'ForEach-Object' command in the call chain
This change takes into account the two forms of script blocks