Ваш код помещает параметр в область действия функции. При запуске Script.ps1 -UserName BLAH
этот параметр будет передан в область действия скрипта.
Если вы хотите передать переменную вниз, вам понадобятся два блока параметров, один для скрипта и один для функции. Затем передайте имя пользователя сценария функции в качестве аргумента функции.
Param([string]$UserName)
Function MainFunction {
Param([string]$UserName)
}
MainFunction -UserName "Chuck Norris"
В качестве альтернативы вы можете использовать имя пользователя из области действия скрипта внутри функции, используя $script:
для использования переменной из этой области.
Param([string]$UserName)
Function MainFunction {
Write-Output "Example use of $script:UserName"
}
MainFunction