Не могу использовать переменную из функции в другой функции - PullRequest
1 голос
/ 28 февраля 2020
function User-Search($input)
{
    Write-Host "Searching for user: $input"
    pause
}


function Show-Menu
{
     param (
           [string]$Title = 'MainMenu'
     )
     cls
     Write-Host "================ $Title ================"
     Write-Host " "
     Write-Host "Specify computer / username"
     Write-Host " "
     Write-Host "Q: Press 'Q' to quit."
     Write-Host " "
}

do
{
    Show-Menu
    $input = Read-Host "Search"
    User-Search -input $input
}
until ($input -eq 'q')

Выводы: "В поисках пользователя:", он пуст.

Должна быть небольшая ошибка, которую я делаю, вероятно, вам, ребята, легко:)

1 Ответ

3 голосов
/ 28 февраля 2020

$INPUT - это автоматизированная c переменная :

Содержит перечислитель, который перечисляет все входные данные, передаваемые в функцию. Переменная $ input доступна только для функций и блоков сценариев (которые являются неназванными функциями).

Поэтому просто используйте другую переменную, например $user вместо $input

...