Dans Powershell, comment définir les valeurs des variables dans une fonction et que la valeur disponible dans la portée parent?

Je suis en train de mettre les valeurs de certaines variables à l'aide d'une fonction. Mon code est ci-dessous:

$BackupFile = $null
$TaskSequenceID = $null
$OSDComputerName = $null
$capturedWimPath = $null

Function Set-OsToBuild 
{
  switch ($OsToBuild)
  {
    "Win7x64"
        { 
            $BackupFile = "Win7x64-SP1.wim"
            $TaskSequenceID = "WIN7X64BC"
            $OSDComputerName = "Ref-Win7x64"
            $capturedWimPath = "$($PathToMdtShare)\Captures$BackupFile"
        }
  }
}

Le problème est que ces valeurs pour $BackupFile, $TaskSequenceID, $OSDComputerName et $capturedWimPath sont en blanc/nul à l'extérieur de cette fonction.

Quelle est la bonne façon de le faire? Je veux mettre ces valeurs à l'intérieur de cette fonction et les valeurs disponibles plus tard dans le script, dans la portée parent.

Les liens sur le côté spectacle de cette stackoverflow.com/questions/1123634/... pour créer de portée mondiale sont variables et vous pouvez toujours retourner un objet personnalisé de cette information

OriginalL'auteur Dbloom | 2015-01-08