Как заново реализовать концепцию переменных SessionVariable / WebSession Invoke-RestMethod в PowerShell? - PullRequest
1 голос
/ 09 июля 2020

Я хочу обернуть несколько вызовов Invoke-RestMethod двумя функциями, и мне нужно передать переменную WebSession между ними. Цель:

Login -SessionVariable MySession
# do some work while using $MySession
Logout -WebSession $MySession

Функции Login и Logout, вероятно, будут выглядеть так:

function Login {

    Param(
        [String]SessionVariable
    )
    Invoke-RestMethod ... -SessionVariable $SessionVariable
    Invoke-RestMethod ... -WebSession ???
    Invoke-RestMethod ... -WebSession ???
}

function Logout {

    Param(
        WebSession
    )
    Invoke-RestMethod ... -WebSession $WebSession
}

Но как я могу использовать имя переменной сеанса в Login передать его в параметр -WebSession? Возможно ли вообще реализовать эту концепцию SessionVariable / WebSession для Invoke-RestMethod? Я думаю, что это как-то связано с call-by-reference на [ref], но как мне построить мост между именем переменной (строкой) и фактической переменной?

...