powershell: comment écrire la valeur de l'hôte à partir de la variable [ref]

Je suis nouveau sur Powershell et je suis en train de travailler sur la façon d'imprimer la valeur de a [ref] de la variable à l'intérieur d'une fonction.

Voici mon code de test:

function testref([ref]$obj1) {
  $obj1.value = $obj1.value + 5
  write-host "the new value is $obj1"
  $obj1 | get-member
}


$foo = 0
"foo starts with $foo"
testref([ref]$foo)
"foo ends with $foo"

La sortie-je obtenir à partir de ce test est le suivant. Vous remarquerez que je n'ai pas la valeur de $obj1 comme je l'espérais. J'ai aussi essayé en passant $obj1.valeur dans l'appel à write-host, mais qui a généré la même réponse.

PS > .\testref.ps1
foo starts with 0
the new value is System.Management.Automation.PSReference


   TypeName: System.Management.Automation.PSReference

Name        MemberType Definition
----        ---------- ----------
Equals      Method     bool Equals(System.Object obj)
GetHashCode Method     int GetHashCode()
GetType     Method     type GetType()
ToString    Method     string ToString()
Value       Property   System.Object Value {get;set;}
foo ends with 5

source d'informationauteur Denis