Powershell gourous, veuillez préciser la portée des variables en fonction de

J'ai lu que les variables à l'intérieur de la portée d'une fonction sont accessibles dans le champ d'application actuel lorsque la fonction de script est le point d'origine.

Est-il vrai? C'est très étrange et inhabituel, je pense...

Pouvez me préciser les raisons de cette. Exemple, my-f jeux de $my-f-var à certaines entier, disons 2:

PS1> . .\my-f-script.ps1
PS1> my-f
PS1> $my-f-var
2

Je m'attends à ce que $my-f-var n'est pas accessible, car à l'intérieur de la fonction! Est-il un moyen de faire des variables privées, ou une manière d'appeler la fonction sans dot-sourcing son script?