functions/private/func_GetDefaultExcludeVariables.ps1
|
<#
.SYNOPSIS Gets a list of default variables to exclude from parallel execution. .DESCRIPTION This private function returns a collection of variable names that should be excluded when importing variables into parallel script blocks. It combines: - Default cmdlet binding parameters (like Verbose, Debug, etc.) - Current bound parameters - Standard user environment variables .EXAMPLE PS> $excludeVars = func_GetDefaultExcludeVariables PS> $excludeVars | Select-Object -First 5 Returns a list of variable names to exclude from parallel import. .NOTES This is a private helper function used internally by Invoke-ForEachParallelProxy. It helps prevent conflicts and unnecessary variable passing in parallel execution contexts. .LINK Invoke-ForEachParallelProxy #> function func_GetDefaultExcludeVariables { Function _temp { [cmdletbinding(SupportsShouldProcess=$True)] param() } $VariablesToExclude = @( (Get-Command _temp | Select-Object -ExpandProperty parameters).Keys + $PSBoundParameters.Keys + $StandardUserEnv.Variables ) Write-Output $VariablesToExclude } |