If you define variables in a function, then these variables live in function scope. To find out what the value of the variable is in the parent scope, use Get-Variable with the parameter -Scope:
$a = 1 function test { $a = 2 $parentVariable = Get-Variable -Name a -Scope 1 $parentVariable.Value } test
When the script calls "test", the function defines $a and sets it to 2. In the caller scope, variable $a is 1. By using Get-Variable, the function can find out the variable value in the parent scope.