Data/PSSessionVariable/Add-PSSessionEntry.ps1
<#
.SYNOPSIS Records a value for a Session variable to allow testing for it .NOTES Use with Test-PSSessionVariableEntry .EXAMPLE $SessionLogVariableName = 'SessionWideUniqueName' $filePath = Join-Path (Join-Path (Join-Path $DependencyFolder 'Depend-NuGet') $NugetPackageName) $PathToDll if (-not (& "$PSScriptRoot\Test-PSSessionVariableEntry.ps1" -VariableName $SessionLogVariableName -Value $filePath)) { .. do something that you only want to happen once per session & "$PSScriptRoot\Add-PSSessionVariableEntry.ps1" -VariableName $SessionLogVariableName -Value $filePath } #> function Add-PSSessionEntry { param( [parameter(Mandatory)] [string] $GlobalVariableName, [parameter(Mandatory)] [string] $CollectionName, [parameter(Mandatory)] [Alias('Value')] [string[]] $Values ) try { $collection = Initialize-PSSessionVariable -GlobalVariableName $GlobalVariableName -CollectionName $CollectionName foreach ($value in $Values) { $null = $collection.Add($Value) } } catch { throw } } |